///
import { Writable } from "stream";
import { CostSnapshot } from "../cost";
import { PackerResult } from "../packer";
import { CommonOptions, FunctionStats, Message, ProviderImpl } from "../provider";
import { AsyncQueue } from "../throttle";
import { Wrapper, WrapperOptions } from "../wrapper";
interface Executor {
wrapper: Wrapper;
logUrl: string;
logStream?: Writable;
}
/**
* @public
*/
export interface LocalState {
/** @internal */
executors: Executor[];
/** @internal */
getExecutor: () => Executor;
/** The temporary directory where the local function is deployed. */
tempDir: string;
/** The file:// URL for the local function log file directory. */
logUrl: string;
/** @internal */
gcPromise?: Promise;
/** @internal */
queue: AsyncQueue;
/** Options used to initialize the local function. */
options: Required;
}
/**
* Local provider options for {@link faastLocal}.
*
* @public
*/
export interface LocalOptions extends CommonOptions {
/** @internal */
_gcWorker?: (tempdir: string) => Promise;
}
export declare function defaultGcWorker(dir: string): Promise;
export declare const defaults: Required;
export declare const LocalImpl: ProviderImpl;
export declare function logUrl(state: LocalState): string;
export declare function localPacker(functionModule: string, options: CommonOptions, wrapperOptions: WrapperOptions, FunctionName: string): Promise;
export declare function costSnapshot(state: LocalState, stats: FunctionStats): Promise;
export {};