import { ArtifactPoller, TelemetryEmitter } from "@clef-sh/runtime";
import { AgentServerHandle } from "../server";
export interface LambdaExtensionOptions {
    poller: ArtifactPoller;
    server: AgentServerHandle;
    /** TTL in seconds — refresh artifact if older than this on INVOKE. */
    refreshTtl: number;
    telemetry?: TelemetryEmitter;
    onLog?: (message: string) => void;
    /** Skip the initial fetch if the caller already bootstrapped the poller. */
    skipInitialFetch?: boolean;
}
/**
 * Lambda Extension lifecycle wrapper.
 *
 * Registers with the Lambda Extensions API, starts the HTTP server,
 * and refreshes secrets between invocations when the TTL has expired.
 */
export declare class LambdaExtension {
    private lastRefresh;
    private readonly options;
    private readonly startedAt;
    constructor(options: LambdaExtensionOptions);
    /** Run the Lambda Extension lifecycle. */
    start(): Promise<void>;
    private extensionsApiBase;
    private register;
    private nextEvent;
}
//# sourceMappingURL=lambda-extension.d.ts.map