import type { BeaconCtx, BeaconLifecycleEvent, Mode, PluginEntry } from './types';
export interface CtxHost {
    getCaptured(name: string): PluginEntry | undefined;
    getFormValues(pluginName: string): Record<string, unknown>;
    getCaptureSignal(): AbortSignal | undefined;
    getInitSignal(): AbortSignal;
    requestMode(mode: Mode): Promise<() => void>;
    overlay(opts: {
        render: (slot: HTMLElement) => void | (() => void);
    }): () => void;
    onLifecycle(ev: 'open' | 'close' | 'beforeSubmit' | 'afterSubmit', handler: (e: BeaconLifecycleEvent) => void): () => void;
}
export declare function createCtx(pluginName: string, host: CtxHost): BeaconCtx;
//# sourceMappingURL=ctx.d.ts.map