///
import { CallContext } from './call-context.ts';
import { type InternalConfig, PluginOutput } from './interfaces.ts';
import { Worker } from 'node:worker_threads';
declare class BackgroundPlugin {
#private;
sharedData: SharedArrayBuffer;
sharedDataView: DataView;
hostFlag: Int32Array;
opts: InternalConfig;
worker: Worker;
modules: WebAssembly.Module[];
names: string[];
constructor(worker: Worker, sharedData: SharedArrayBuffer, names: string[], modules: WebAssembly.Module[], opts: InternalConfig, context: CallContext);
reset(): Promise;
isActive(): boolean;
functionExists(funcName: string): Promise;
call(funcName: string, input?: string | Uint8Array, hostContext?: T): Promise;
callBlock(funcName: string, input: number | null): Promise<[number | null, number | null]>;
getExports(): Promise;
getImports(): Promise;
getInstance(): Promise;
close(): Promise;
}
export declare function createBackgroundPlugin(opts: InternalConfig, names: string[], modules: WebAssembly.Module[]): Promise;
export {};