type StartupErrorReporter = { captureApplicationError: (error: unknown, context: { boundary: string; }) => string | undefined; flushApplicationErrors: (timeoutMs?: number) => Promise; onReportingError?: (operation: "capture" | "flush", error: unknown) => void; }; type StartupErrorReportingOptions = { flushTimeoutMs?: number; }; type ProductionServerDependencies = { ensureBundlerContracts?: () => Promise; initializeErrorReporting?: () => Promise; loadSentryModule?: () => Promise; reporter?: StartupErrorReporter; }; type ServeCommandDependencies = { runProductionServer?: (options: ServeOptions) => Promise; }; type ProductionSentryModule = { captureApplicationError: StartupErrorReporter["captureApplicationError"]; flushApplicationErrors: StartupErrorReporter["flushApplicationErrors"]; initializeSentryFromEnv: () => Promise; }; export interface ServeOptions { mode: "combined" | "proxy" | "production"; port: number; bindAddress: string; splitMode: boolean; useBinary: boolean; binaryPath: string; debug: boolean; } export declare function runWithStartupErrorReporting(startup: () => Promise, reporter: StartupErrorReporter, options?: StartupErrorReportingOptions): Promise; export declare function runProductionStartupWithErrorReporting(startup: () => Promise, reporter: StartupErrorReporter, ensureBundlerContracts?: () => Promise, initializeObservability?: () => Promise): Promise; /** * Browsable URL for a server bound to `bindAddress`. * * A wildcard bind is not an address a developer can open, so it is rendered as * `localhost` — the host the deploy docs tell them to visit. */ export declare function serveReadyUrl(bindAddress: string, port: number): string; /** * Print the ready block with the URL to open, mirroring `veryfront dev`. * * Port `0` asks the OS for an ephemeral port, so the requested port is not the * port that was bound and there is no browsable URL to print here — the bound * port is only known to the server's `onListen`, which already logs it as * `Production server listening`. Printing `http://localhost:0` under it would * contradict the one correct line on screen, so the block is skipped instead. */ export declare function printServeReady(options: { port: number; bindAddress: string; }): void; export declare function runProductionServer(options: ServeOptions, dependencies?: ProductionServerDependencies): Promise; export declare function serveCommand(options: ServeOptions, dependencies?: ServeCommandDependencies): Promise; export {}; //# sourceMappingURL=command.d.ts.map