/// /// import { ExtensionInstance } from '../../models/extensions/extension-instance.js'; import { FunctionConfigType } from '../../models/extensions/specifications/function.js'; import { AppInterface } from '../../models/app/app.js'; import { BuildResult, BuildOptions } from 'esbuild'; import { AbortSignal } from '@shopify/cli-kit/node/abort'; import { Writable } from 'stream'; interface JSFunctionBuildOptions { stdout: Writable; stderr: Writable; signal?: AbortSignal; app: AppInterface; useTasks?: boolean; } export declare function buildJSFunction(fun: ExtensionInstance, options: JSFunctionBuildOptions): Promise; export declare function buildJSFunctionWithTasks(fun: ExtensionInstance, options: JSFunctionBuildOptions, builder: JavyBuilder): Promise; export declare function buildGraphqlTypes(fun: { directory: string; isJavaScript: boolean; }, options: JSFunctionBuildOptions): Promise; export declare function bundleExtension(fun: ExtensionInstance, options: JSFunctionBuildOptions, processEnv?: NodeJS.ProcessEnv): Promise | undefined; loader?: { [ext: string]: import("esbuild").Loader; } | undefined; resolveExtensions?: string[] | undefined; mainFields?: string[] | undefined; conditions?: string[] | undefined; write?: boolean | undefined; allowOverwrite?: boolean | undefined; tsconfig?: string | undefined; outExtension?: { [ext: string]: string; } | undefined; publicPath?: string | undefined; entryNames?: string | undefined; chunkNames?: string | undefined; assetNames?: string | undefined; inject?: string[] | undefined; banner?: { [type: string]: string; } | undefined; footer?: { [type: string]: string; } | undefined; stdin?: import("esbuild").StdinOptions | undefined; plugins?: import("esbuild").Plugin[] | undefined; absWorkingDir?: string | undefined; nodePaths?: string[] | undefined; sourcemap?: boolean | "external" | "inline" | "linked" | "both" | undefined; legalComments?: "external" | "none" | "inline" | "eof" | "linked" | undefined; sourceRoot?: string | undefined; sourcesContent?: boolean | undefined; format?: import("esbuild").Format | undefined; globalName?: string | undefined; target?: string | string[] | undefined; supported?: Record | undefined; platform?: import("esbuild").Platform | undefined; mangleProps?: RegExp | undefined; reserveProps?: RegExp | undefined; mangleQuoted?: boolean | undefined; mangleCache?: Record | undefined; drop?: import("esbuild").Drop[] | undefined; dropLabels?: string[] | undefined; minify?: boolean | undefined; minifyWhitespace?: boolean | undefined; minifyIdentifiers?: boolean | undefined; minifySyntax?: boolean | undefined; lineLimit?: number | undefined; charset?: import("esbuild").Charset | undefined; treeShaking?: boolean | undefined; ignoreAnnotations?: boolean | undefined; jsx?: "transform" | "automatic" | "preserve" | undefined; jsxFactory?: string | undefined; jsxFragment?: string | undefined; jsxImportSource?: string | undefined; jsxDev?: boolean | undefined; jsxSideEffects?: boolean | undefined; define?: { [key: string]: string; } | undefined; pure?: string[] | undefined; keepNames?: boolean | undefined; color?: boolean | undefined; logLevel?: import("esbuild").LogLevel | undefined; logLimit?: number | undefined; logOverride?: Record | undefined; tsconfigRaw?: string | import("esbuild").TsconfigRaw | undefined; }>>; export declare function runJavy(fun: ExtensionInstance, options: JSFunctionBuildOptions, extra?: string[]): Promise; export declare function installJavy(app: AppInterface): Promise; interface FunctionRunnerOptions { input?: string; json: boolean; export?: string; } export declare function runFunctionRunner(fun: ExtensionInstance, options: FunctionRunnerOptions): Promise; export interface JavyBuilder { bundle(fun: ExtensionInstance, options: JSFunctionBuildOptions): Promise>; compile(fun: ExtensionInstance, options: JSFunctionBuildOptions): Promise; } export declare const DefaultJavyBuilder: JavyBuilder; export declare class ExportJavyBuilder implements JavyBuilder { exports: string[]; constructor(exports: string[]); bundle(fun: ExtensionInstance, options: JSFunctionBuildOptions, processEnv?: NodeJS.ProcessEnv): Promise>; compile(fun: ExtensionInstance, options: JSFunctionBuildOptions): Promise; get wit(): string; get entrypointContents(): string; } export declare function jsExports(fun: ExtensionInstance): string[]; export {};