/** Test-only: reset the module-level recall-history Map. Call from beforeEach. */
export declare function __resetSessionRecallHistoryHttp(): void;
export interface ServerHandle {
    port: number;
    url: string;
    stop: () => Promise<void>;
}
export interface ServeOpts {
    hippoRoot: string;
    port?: number;
    host?: string;
}
/**
 * Recognise loopback remote addresses. Node reports IPv6-mapped IPv4 as
 * '::ffff:127.0.0.1' on dual-stack sockets, so we accept that alongside
 * the bare v4 and v6 loopbacks. Anything else is treated as remote.
 */
export declare function isLoopback(remoteAddress: string | undefined): boolean;
/**
 * Boot the HTTP daemon on host:port and write the pidfile under hippoRoot.
 *
 * Refuses non-loopback hosts at boot (Footgun #3 from the A1 plan): without
 * the A5 v2 auth middleware we have no way to gate remote requests, so we
 * fail fast rather than expose the DB to the network. Task 9 will lift this
 * restriction once Bearer-token validation lands.
 *
 * Use port: 0 in tests to bind to an ephemeral port and read the actual
 * port back via server.address() after listen.
 */
export declare function serve(opts: ServeOpts): Promise<ServerHandle>;
//# sourceMappingURL=server.d.ts.map