import { Express } from 'express';
export type ExpressAppStarterOptions = {
    app: Express;
    port: number;
    onInfrastructureCheck?: () => Promise<Record<string, unknown>>;
    onExtraChecks?: () => Promise<void>;
};
export declare class Server {
    private readonly expressApp;
    private readonly listenPort;
    private readonly infrastructureCheck?;
    private readonly extraStartupChecks?;
    constructor(options: ExpressAppStarterOptions);
    start(): Promise<void>;
    private setupUncaughtExceptionHandling;
    private setupGracefulShutdown;
}
