export interface BundlerBuildOptions {
    getBuildDefs: () => {
        typeDefs: string;
        resolvers: Record<string, {
            __resolveType?: (obj: any) => string;
        }>;
    };
    watch?: boolean;
    onWatch?: (output: {
        totalFiles: number;
        totalSize: number;
        schemaChanged: boolean;
        duration: number;
    }) => void;
}
export declare class Bundler {
    sfiFilePath: string;
    outputDir: string;
    private cachedTypeDefs;
    constructor(sfiFilePath: string, outputDir?: string);
    build(options: BundlerBuildOptions): Promise<{
        totalFiles: number;
        totalSize: number;
        schemaChanged: boolean;
        duration: number;
    }>;
}
