import type { BuildOptions } from 'esbuild';
import type { EntryMode, LegacyPackageCompileOptions, XyEsbuildConfig } from './XyConfig.ts';
export { validateFullPackage } from './validateFullPackage.ts';
export declare const createEsbuildEntryPoints: (srcDir: string, entries: string[], entryMode?: EntryMode) => NonNullable<BuildOptions["entryPoints"]>;
export interface TypescriptConfigParams {
    hasDeclaration?: boolean;
    outDir?: string;
    pkg: string;
    srcDir: string;
}
export declare const createTypescriptConfig: ({ hasDeclaration, outDir, pkg, srcDir, }: TypescriptConfigParams) => {
    compilerOptions: {
        rootDir: string;
        declaration: boolean;
        declarationMap: boolean;
        emitDeclarationOnly: boolean;
        noEmit: boolean;
        outDir: string | undefined;
    } | {
        rootDir: string;
        noEmit: boolean;
    };
    exclude: string[];
    extends: string;
    include: string[];
};
export declare const esbuildOptions: (options?: LegacyPackageCompileOptions[], isVerbose?: boolean) => BuildOptions;
/**
 * @deprecated Use esbuildOptions.
 */
export declare const tsupOptions: (options?: LegacyPackageCompileOptions[], isVerbose?: boolean) => BuildOptions;
export declare const resolvePlatformEsbuildOptions: (value: Record<string, LegacyPackageCompileOptions> | boolean | undefined) => LegacyPackageCompileOptions;
export interface PackageCompileEsbuildMode {
    emitOnly?: boolean;
    validateOnly?: boolean;
}
export declare const packageCompileEsbuild: (config?: XyEsbuildConfig, mode?: PackageCompileEsbuildMode) => Promise<number>;
//# sourceMappingURL=packageCompileEsbuild.d.ts.map