import type { Format, Platform, Plugin } from 'esbuild';
export type EsBuildSourceMapOptions = {
    sourcemap: boolean | 'inline';
    includeVendorSourceMaps?: boolean;
};
export type EsbuildOptions = {
    cwd: string;
    tsconfig: string;
    entryPoints: string[];
    outbase?: string;
    minify?: boolean;
    sourcemapOptions?: EsBuildSourceMapOptions;
    production?: boolean;
    platform?: Platform;
    plugins?: Plugin[];
    external?: string[];
    format?: Format;
    target?: string;
    metafile?: boolean;
    define?: {
        [key: string]: string;
    };
    sourceRoot?: string;
    globalName?: string;
};
/** Runs esbuild with the given options */
export declare function runEsbuild(outdir: string | undefined, options: EsbuildOptions, abortSignal?: AbortSignal): Promise<import("esbuild").BuildResult<{
    entryPoints: string[];
    outbase: string | undefined;
    target: string | undefined;
    minify: boolean;
    sourcemap: boolean | "inline";
    platform: Platform;
    plugins: Plugin[];
    external: string[];
    sourceRoot: string | undefined;
    tsconfig: string;
    outdir: string | undefined;
    format: Format | undefined;
    globalName: string | undefined;
    metafile: boolean | undefined;
    write: false;
    define: {
        [key: string]: string;
    } | undefined;
    bundle?: boolean;
    splitting?: boolean;
    preserveSymlinks?: boolean;
    outfile?: string;
    packages?: "bundle" | "external";
    alias?: Record<string, string>;
    loader?: {
        [ext: string]: import("esbuild").Loader;
    };
    resolveExtensions?: string[];
    mainFields?: string[];
    conditions?: string[];
    allowOverwrite?: boolean;
    outExtension?: {
        [ext: string]: string;
    };
    publicPath?: string;
    entryNames?: string;
    chunkNames?: string;
    assetNames?: string;
    inject?: string[];
    banner?: {
        [type: string]: string;
    };
    footer?: {
        [type: string]: string;
    };
    stdin?: import("esbuild").StdinOptions;
    absWorkingDir?: string;
    nodePaths?: string[];
    legalComments?: "none" | "inline" | "eof" | "linked" | "external";
    sourcesContent?: boolean;
    supported?: Record<string, boolean>;
    mangleProps?: RegExp;
    reserveProps?: RegExp;
    mangleQuoted?: boolean;
    mangleCache?: Record<string, string | false>;
    drop?: import("esbuild").Drop[];
    dropLabels?: string[];
    minifyWhitespace?: boolean;
    minifyIdentifiers?: boolean;
    minifySyntax?: boolean;
    lineLimit?: number;
    charset?: import("esbuild").Charset;
    treeShaking?: boolean;
    ignoreAnnotations?: boolean;
    jsx?: "transform" | "preserve" | "automatic";
    jsxFactory?: string;
    jsxFragment?: string;
    jsxImportSource?: string;
    jsxDev?: boolean;
    jsxSideEffects?: boolean;
    pure?: string[];
    keepNames?: boolean;
    color?: boolean;
    logLevel?: import("esbuild").LogLevel;
    logLimit?: number;
    logOverride?: Record<string, import("esbuild").LogLevel>;
    tsconfigRaw?: string | import("esbuild").TsconfigRaw;
}>>;
