import type { LogContext } from '@rocicorp/logger';
import { type FastifyInstance } from 'fastify';
import { RunningState } from './running-state.ts';
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;
    protected readonly _state: RunningState;
    constructor(id: string, lc: LogContext, opts: Options, init: (fastify: FastifyInstance) => void | Promise<void>);
    protected _onStart(): void;
    protected _onStop(): Promise<void>;
    start(): Promise<string>;
    run(): Promise<void>;
    stop(): Promise<void>;
}
//# sourceMappingURL=http-service.d.ts.map