import { type GenerateFunctionsResult } from '@junobuild/functions-tools';
import type { Metafile } from 'esbuild';
export interface GenerateArgs {
    infile: string;
    outfileJs: string;
    outfileRs: string;
    banner?: {
        [type: string]: string;
    };
}
export interface GenerateBuildData {
    version: string;
    output: [string, Metafile['outputs'][0]];
    code: Uint8Array;
    outputPath: string;
}
export interface GenerateResultData {
    build: Omit<GenerateBuildData, 'code'>;
    generate: GenerateFunctionsResult;
}
export interface GenerateResultError {
    status: 'error';
    warnings?: string[];
    errors: string[];
}
export type GenerateResult = {
    status: 'success';
    result: GenerateResultData;
} | GenerateResultError;
export type GenerateCodeResult = {
    status: 'success';
    result: Omit<GenerateBuildData, 'outputPath'>;
} | GenerateResultError;
export declare const buildAndGenerateFunctions: ({ outfileJs, outfileRs, ...args }: GenerateArgs) => Promise<GenerateResult>;
