import type esbuild from "esbuild";
import { type IndexHtmlTransform } from "@angular/build/private";
/** metafile.outputs에서 추출된 파일 정보 (IndexHtmlGenerator.FileInfo 호환) */
export interface FileInfo {
    file: string;
    name?: string;
    extension: string;
}
export interface GenerateIndexHtmlOptions {
    /** src/index.html 경로 */
    indexPath: string;
    /** esbuild 빌드 결과 metafile */
    metafile: esbuild.Metafile;
    /** 출력 디렉토리 (dist/) */
    outdir: string;
    /** <base href> (기본: "/") */
    baseHref?: string;
    /** 빌드 모드 */
    mode: "dev" | "build";
    /** entryPoints의 이름 목록 (main, polyfills 등) */
    entryNames: string[];
    /** HTML 후처리 훅 (HMR 스크립트 주입용) */
    postTransform?: IndexHtmlTransform;
}
export interface GenerateIndexHtmlResult {
    content: string;
    warnings: string[];
    errors: string[];
}
/**
 * esbuild metafile.outputs에서 JS/CSS 파일을 추출하여 FileInfo[] 로 변환한다.
 */
export declare function extractFilesFromMetafile(metafile: esbuild.Metafile, outdir: string): FileInfo[];
/**
 * esbuild 빌드 결과를 기반으로 index.html을 생성한다.
 * IndexHtmlGenerator(@angular/build/private)를 활용하여 script/link 태그를 자동 주입한다.
 */
export declare function generateIndexHtml(options: GenerateIndexHtmlOptions): Promise<GenerateIndexHtmlResult>;
//# sourceMappingURL=esbuild-index-html.d.ts.map