import { LogContext } from '@rocicorp/logger';
import { type FastifyInstance } from 'fastify';
import type { Service } from './service.ts';
export type Options = {
    port: number;
};
/**
 * Common functionality for all HttpServices. These include:
 * * Responding to health checks at "/"
 * * Tracking optional heartbeats at "/keepalive" and draining when they stop.
 */
export declare class HttpService implements Service {
    #private;
    readonly id: string;
    protected readonly _lc: LogContext;
    constructor(id: string, lc: LogContext, opts: Options, init: (fastify: FastifyInstance) => void | Promise<void>);
    /** Override to delay responding to health checks on "/". */
    protected _respondToHealthCheck(): boolean;
    /** Override to delay responding to health checks on "/keepalive". */
    protected _respondToKeepalive(): boolean;
    start(): Promise<string>;
    run(): Promise<void>;
    stop(): Promise<void>;
}
//# sourceMappingURL=http-service.d.ts.map