import type { Message, Metafile, OutputFile } from 'esbuild'; /** * Builds the serverless functions using `esbuild`. * * This feature: * - Ensures `esbuild` is available. * - Deletes the existing output file if it exists. * - Builds the input file with optimizations: minification, tree-shaking, etc. * - Returns the esbuild `metafile`, version, and any build errors or warnings. * * @param {Object} options - Build configuration. * @param {string} options.infile - The path to the input file to be bundled. * @param {string} options.outfile - The path where the output bundle should be written. * @param {Object} [options.banner] - Optional banner to prepend to the generated file. * * @returns {Promise<{ * metafile: Metafile, * errors: Message[], * warnings: Message[], * version: string * }>} An object containing the esbuild metafile, build errors/warnings, and the version of esbuild used. * * @throws Will exit the process if `esbuild` is not installed. */ export declare const buildFunctions: ({ infile, banner }: { infile: string; banner?: { [type: string]: string; }; }) => Promise; /** * Builds a script using `esbuild` for `juno run`. * * This feature: * - Ensures `esbuild` is available. * - Builds the input file for Node with optimizations: minification, tree-shaking, etc. * - Returns the esbuild output files, `metafile`, version, and any build errors or warnings. * * @param {Object} options - Build configuration. * @param {string} options.infile - The path to the input file to be bundled. * * @returns {Promise<{ * metafile: Metafile, * errors: Message[], * warnings: Message[], * version: string, * outputFiles: OutputFile[] | undefined; * }>} An object containing the esbuild outputFiles, metafile, build errors/warnings, and the version of esbuild used. * * @throws Will exit the process if `esbuild` is not installed. */ export declare const buildScript: ({ infile }: { infile: string; }) => Promise; export interface EsbuildResult { metafile: Metafile; errors: Message[]; warnings: Message[]; version: string; outputFiles: OutputFile[] | undefined; }