## API Report File for "@builder.io/qwik"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import type { Plugin as Plugin_2 } from 'vite';

// @public (undocumented)
export interface ComponentEntryStrategy {
    // (undocumented)
    manual?: Record<string, string>;
    // (undocumented)
    type: 'component';
}

// @public (undocumented)
export const createOptimizer: (optimizerOptions?: OptimizerOptions) => Promise<Optimizer>;

// @public (undocumented)
export interface Diagnostic {
    // (undocumented)
    category: DiagnosticCategory;
    // (undocumented)
    code: string | null;
    // (undocumented)
    file: string;
    // (undocumented)
    highlights: SourceLocation[];
    // (undocumented)
    message: string;
    // (undocumented)
    scope: string;
    // (undocumented)
    suggestions: string[] | null;
}

// @public (undocumented)
export type DiagnosticCategory = 'error' | 'warning' | 'sourceError';

// Warning: (ae-forgotten-export) The symbol "HoistEntryStrategy" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "HookEntryStrategy_2" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export type EntryStrategy = InlineEntryStrategy | HoistEntryStrategy | SingleEntryStrategy | HookEntryStrategy_2 | SegmentEntryStrategy | ComponentEntryStrategy | SmartEntryStrategy;

// @alpha
export enum ExperimentalFeatures {
    noSPA = "noSPA",
    preventNavigate = "preventNavigate",
    valibot = "valibot"
}

// @public (undocumented)
export interface GlobalInjections {
    // (undocumented)
    attributes?: {
        [key: string]: string;
    };
    // (undocumented)
    location: 'head' | 'body';
    // (undocumented)
    tag: string;
}

// @public (undocumented)
export interface InlineEntryStrategy {
    // (undocumented)
    type: 'inline';
}

// @public (undocumented)
export interface InsightManifest {
    // (undocumented)
    manual: Record<string, string>;
    // (undocumented)
    prefetch: {
        route: string;
        symbols: string[];
    }[];
    // (undocumented)
    type: 'smart';
}

// @public (undocumented)
export type MinifyMode = 'simplify' | 'none';

// @public (undocumented)
export interface Optimizer {
    sys: OptimizerSystem;
    transformFs(opts: TransformFsOptions): Promise<TransformOutput>;
    transformFsSync(opts: TransformFsOptions): TransformOutput;
    transformModules(opts: TransformModulesOptions): Promise<TransformOutput>;
    transformModulesSync(opts: TransformModulesOptions): TransformOutput;
}

// @public (undocumented)
export interface OptimizerOptions {
    // (undocumented)
    binding?: any;
    inlineStylesUpToBytes?: number;
    sourcemap?: boolean;
    // (undocumented)
    sys?: OptimizerSystem;
}

// @public (undocumented)
export interface OptimizerSystem {
    // (undocumented)
    cwd: () => string;
    // (undocumented)
    dynamicImport: (path: string) => Promise<any>;
    // (undocumented)
    env: SystemEnvironment;
    // (undocumented)
    getInputFiles?: (rootDir: string) => Promise<TransformModuleInput[]>;
    // (undocumented)
    os: string;
    // (undocumented)
    path: Path;
    // (undocumented)
    strictDynamicImport: (path: string) => Promise<any>;
}

// @public (undocumented)
export interface Path {
    // (undocumented)
    basename(path: string, ext?: string): string;
    // (undocumented)
    readonly delimiter: string;
    // (undocumented)
    dirname(path: string): string;
    // (undocumented)
    extname(path: string): string;
    // (undocumented)
    format(pathObject: {
        root: string;
        dir: string;
        base: string;
        ext: string;
        name: string;
    }): string;
    // (undocumented)
    isAbsolute(path: string): boolean;
    // (undocumented)
    join(...paths: string[]): string;
    // (undocumented)
    normalize(path: string): string;
    // (undocumented)
    parse(path: string): {
        root: string;
        dir: string;
        base: string;
        ext: string;
        name: string;
    };
    // (undocumented)
    readonly posix: Path;
    // (undocumented)
    relative(from: string, to: string): string;
    // (undocumented)
    resolve(...paths: string[]): string;
    // (undocumented)
    readonly sep: string;
    // (undocumented)
    readonly win32: null;
}

// @public (undocumented)
export type QwikBuildMode = 'production' | 'development';

// @public (undocumented)
export type QwikBuildTarget = 'client' | 'ssr' | 'lib' | 'test';

// @public (undocumented)
export interface QwikBundle {
    // (undocumented)
    dynamicImports?: string[];
    // (undocumented)
    imports?: string[];
    isTask?: boolean;
    // (undocumented)
    origins?: string[];
    // (undocumented)
    size: number;
    // (undocumented)
    symbols?: string[];
}

// @public
export interface QwikManifest {
    bundles: {
        [fileName: string]: QwikBundle;
    };
    injections?: GlobalInjections[];
    manifestHash: string;
    mapping: {
        [symbolName: string]: string;
    };
    // (undocumented)
    options?: {
        target?: string;
        buildMode?: string;
        entryStrategy?: {
            [key: string]: any;
        };
    };
    // (undocumented)
    platform?: {
        [name: string]: string;
    };
    symbols: {
        [symbolName: string]: QwikSymbol;
    };
    // (undocumented)
    version: string;
}

// @public (undocumented)
export function qwikRollup(qwikRollupOpts?: QwikRollupPluginOptions): any;

// @public (undocumented)
export interface QwikRollupPluginOptions {
    buildMode?: QwikBuildMode;
    // (undocumented)
    csr?: boolean;
    debug?: boolean;
    entryStrategy?: EntryStrategy;
    // Warning: (ae-incompatible-release-tags) The symbol "experimental" is marked as @public, but its signature references "ExperimentalFeatures" which is marked as @alpha
    experimental?: (keyof typeof ExperimentalFeatures)[];
    lint?: boolean;
    manifestInput?: QwikManifest;
    manifestOutput?: (manifest: QwikManifest) => Promise<void> | void;
    // (undocumented)
    optimizerOptions?: OptimizerOptions;
    rootDir?: string;
    srcDir?: string;
    srcInputs?: TransformModuleInput[] | null;
    target?: QwikBuildTarget;
    transformedModuleOutput?: ((transformedModules: TransformModule[]) => Promise<void> | void) | null;
}

// @public (undocumented)
export interface QwikSymbol {
    // (undocumented)
    canonicalFilename: string;
    // (undocumented)
    captures: boolean;
    // (undocumented)
    ctxKind: 'function' | 'event';
    // (undocumented)
    ctxName: string;
    // (undocumented)
    displayName: string;
    // (undocumented)
    hash: string;
    // (undocumented)
    loc: [number, number];
    // (undocumented)
    origin: string;
    // (undocumented)
    parent: string | null;
}

// @public
export function qwikVite(qwikViteOpts?: QwikVitePluginOptions): any;

// @public (undocumented)
export interface QwikViteDevResponse {
    // (undocumented)
    _qwikEnvData?: Record<string, any>;
    // (undocumented)
    _qwikRenderResolve?: () => void;
}

// Warning: (ae-forgotten-export) The symbol "P" needs to be exported by the entry point index.d.ts
//
// @public
export type QwikVitePlugin = P<QwikVitePluginApi> & {
    name: 'vite-plugin-qwik';
};

// @public (undocumented)
export interface QwikVitePluginApi {
    // (undocumented)
    getAssetsDir: () => string | undefined;
    // (undocumented)
    getClientOutDir: () => string | null;
    // (undocumented)
    getClientPublicOutDir: () => string | null;
    // (undocumented)
    getInsightsManifest: (clientOutDir?: string | null) => Promise<InsightManifest | null>;
    // (undocumented)
    getManifest: () => QwikManifest | null;
    // (undocumented)
    getOptimizer: () => Optimizer | null;
    // Warning: (ae-forgotten-export) The symbol "NormalizedQwikPluginOptions" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    getOptions: () => NormalizedQwikPluginOptions;
    // (undocumented)
    getRootDir: () => string | null;
}

// Warning: (ae-forgotten-export) The symbol "QwikVitePluginCSROptions" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "QwikVitePluginSSROptions" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export type QwikVitePluginOptions = QwikVitePluginCSROptions | QwikVitePluginSSROptions;

// @public (undocumented)
export interface ResolvedManifest {
    // (undocumented)
    manifest: QwikManifest;
    // (undocumented)
    mapper: SymbolMapper;
}

// @public (undocumented)
interface SegmentAnalysis {
    // (undocumented)
    canonicalFilename: string;
    // (undocumented)
    captures: boolean;
    // (undocumented)
    ctxKind: 'event' | 'function';
    // (undocumented)
    ctxName: string;
    // (undocumented)
    displayName: string;
    // (undocumented)
    entry: string | null;
    // (undocumented)
    extension: string;
    // (undocumented)
    hash: string;
    // (undocumented)
    loc: [number, number];
    // (undocumented)
    name: string;
    // (undocumented)
    origin: string;
    // (undocumented)
    parent: string | null;
}
export { SegmentAnalysis as HookAnalysis }
export { SegmentAnalysis }

// @public (undocumented)
interface SegmentEntryStrategy {
    // (undocumented)
    manual?: Record<string, string>;
    // (undocumented)
    type: 'segment';
}
export { SegmentEntryStrategy as HookEntryStrategy }
export { SegmentEntryStrategy }

// @public (undocumented)
export interface SingleEntryStrategy {
    // (undocumented)
    manual?: Record<string, string>;
    // (undocumented)
    type: 'single';
}

// @public (undocumented)
export interface SmartEntryStrategy {
    // (undocumented)
    manual?: Record<string, string>;
    // (undocumented)
    type: 'smart';
}

// @public (undocumented)
export interface SourceLocation {
    // (undocumented)
    endCol: number;
    // (undocumented)
    endLine: number;
    // (undocumented)
    hi: number;
    // (undocumented)
    lo: number;
    // (undocumented)
    startCol: number;
    // (undocumented)
    startLine: number;
}

// @public (undocumented)
export type SourceMapsOption = 'external' | 'inline' | undefined | null;

// @public (undocumented)
export type SymbolMapper = Record<string, readonly [symbol: string, chunk: string]>;

// Warning: (ae-forgotten-export) The symbol "createSymbolMapper" needs to be exported by the entry point index.d.ts
//
// @alpha
export let symbolMapper: ReturnType<typeof createSymbolMapper>;

// @public (undocumented)
export type SymbolMapperFn = (symbolName: string, mapper: SymbolMapper | undefined, parent?: string) => readonly [symbol: string, chunk: string] | undefined;

// @public (undocumented)
export type SystemEnvironment = 'node' | 'deno' | 'bun' | 'webworker' | 'browsermain' | 'unknown';

// @public (undocumented)
export interface TransformFsOptions extends TransformOptions {
    // (undocumented)
    vendorRoots: string[];
}

// @public (undocumented)
export interface TransformModule {
    // (undocumented)
    code: string;
    // (undocumented)
    isEntry: boolean;
    // (undocumented)
    map: string | null;
    // (undocumented)
    origPath: string | null;
    // (undocumented)
    path: string;
    // (undocumented)
    segment: SegmentAnalysis | null;
}

// @public (undocumented)
export interface TransformModuleInput {
    // (undocumented)
    code: string;
    // (undocumented)
    devPath?: string;
    // (undocumented)
    path: string;
}

// @public (undocumented)
export interface TransformModulesOptions extends TransformOptions {
    // (undocumented)
    input: TransformModuleInput[];
}

// @public (undocumented)
export interface TransformOptions {
    // (undocumented)
    entryStrategy?: EntryStrategy;
    // (undocumented)
    explicitExtensions?: boolean;
    // (undocumented)
    isServer?: boolean;
    // (undocumented)
    minify?: MinifyMode;
    // Warning: (ae-forgotten-export) The symbol "EmitMode" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    mode?: EmitMode;
    // (undocumented)
    preserveFilenames?: boolean;
    // (undocumented)
    regCtxName?: string[];
    // (undocumented)
    rootDir?: string;
    // (undocumented)
    scope?: string;
    // (undocumented)
    sourceMaps?: boolean;
    // (undocumented)
    srcDir: string;
    // (undocumented)
    stripCtxName?: string[];
    // (undocumented)
    stripEventHandlers?: boolean;
    // (undocumented)
    stripExports?: string[];
    // (undocumented)
    transpileJsx?: boolean;
    // (undocumented)
    transpileTs?: boolean;
}

// @public (undocumented)
export interface TransformOutput {
    // (undocumented)
    diagnostics: Diagnostic[];
    // (undocumented)
    isJsx: boolean;
    // (undocumented)
    isTypeScript: boolean;
    // (undocumented)
    modules: TransformModule[];
}

// @public (undocumented)
export type TranspileOption = boolean | undefined | null;

// @public (undocumented)
export const versions: {
    qwik: string;
};

// (No @packageDocumentation comment for this package)

```
