import { type IncomingMessage, type Server, type ServerResponse } from "node:http";
import type { SwitchboardClient } from "./switchboard.js";
export interface ActivatorDeps {
    switchboard: SwitchboardClient;
    /** vetra.io waking page to redirect browsers to, e.g. https://vetra.io/studio/waking */
    wakingPageUrl: string;
    logger?: {
        info: (m: string) => void;
        warn: (m: string) => void;
    };
}
/**
 * Wake activator. Sits behind the catch-all *.vetra.io route and catches hits to
 * sleeping studio hosts. A browser is redirected to the branded vetra.io
 * /studio/waking page (which wakes the studio, polls, and opens it when ready);
 * an API/CLI client gets 503 + Retry-After (and the wake is still kicked here so
 * it recovers on retry). Automation (pollers/monitors/ACME) is short-circuited
 * and never triggers a wake.
 */
export declare function handleRequest(req: IncomingMessage, res: ServerResponse, deps: ActivatorDeps): Promise<void>;
export declare function startActivator(deps: ActivatorDeps, port: number): Server;
//# sourceMappingURL=activator.d.ts.map