///
import { AppInterface } from '../../models/app/app.js';
import { ExtensionInstance } from '../../models/extensions/extension-instance.js';
import { AbortSignal } from '@shopify/cli-kit/node/abort';
import { Writable } from 'stream';
export interface ExtensionBuildOptions {
/**
* Standard output stream to send the output through.
*/
stdout: Writable;
/**
* Standard error stream to send the error output through.
*/
stderr: Writable;
/**
* Signal to abort the build process.
*/
signal?: AbortSignal;
/**
* Overrides the default build directory.
*/
buildDirectory?: string;
/**
* Use tasks to build the extension.
*/
useTasks?: boolean;
/**
* The app that contains the extensions.
*/
app: AppInterface;
/**
* The environment to build the extension.
* Default value: production
*/
environment: 'production' | 'development';
/**
* The URL where the app is running.
*/
appURL?: string;
}
/**
* It builds the theme extensions.
* @param options - Build options.
*/
export declare function buildThemeExtension(extension: ExtensionInstance, options: ExtensionBuildOptions): Promise;
/**
* It builds the UI extensions.
* @param options - Build options.
*/
export declare function buildUIExtension(extension: ExtensionInstance, options: ExtensionBuildOptions): Promise;
export interface BuildFunctionExtensionOptions extends ExtensionBuildOptions {
}
/**
* Builds a function extension
* @param extension - The function extension to build.
* @param options - Options to configure the build of the extension.
*/
export declare function buildFunctionExtension(extension: ExtensionInstance, options: BuildFunctionExtensionOptions): Promise;