/**
 * Server lifecycle helpers.
 *
 * These functions are called by createApp() to set up routes, middleware,
 * and the Bun HTTP server. They're kept separate to keep createApp() focused
 * on orchestration while these handle the details.
 */
import type { AnalyticsOptions, WorkbenchOptions } from './app';
import { createRouter } from './router';
/**
 * Check if running in development mode.
 *
 * The CLI dev server explicitly sets NODE_ENV='development'. In production
 * (cloud deployment, CI integration test running a built app.js), NODE_ENV
 * may be 'production' or unset entirely. When unset, we assume production
 * — the dev server always sets it, so absence means production.
 */
export declare const isDevelopment: () => boolean;
/** Resolve analytics config with defaults */
export declare function resolveAnalyticsConfig(analytics: boolean | AnalyticsOptions | undefined): AnalyticsOptions & {
    enabled: boolean;
};
/** Resolve workbench config */
export declare function resolveWorkbenchConfig(workbench: boolean | string | WorkbenchOptions | undefined): {
    enabled: boolean;
    route: string;
    headers: Record<string, string>;
};
/** Register analytics routes on the app */
export declare function registerAnalyticsRoutes(app: ReturnType<typeof createRouter>, _analyticsConfig: AnalyticsOptions & {
    enabled: boolean;
}): void;
export declare function registerHealthRoutes(app: ReturnType<typeof createRouter>): void;
export declare function registerWebRoutes(app: ReturnType<typeof createRouter>, analyticsConfig: AnalyticsOptions & {
    enabled: boolean;
}): void;
export declare function registerWorkbenchUI(app: ReturnType<typeof createRouter>, workbenchConfig: {
    enabled: boolean;
    route: string;
}): void;
export declare function startServer(app: ReturnType<typeof createRouter>, options?: {
    requestTimeout?: number;
}): void;
//# sourceMappingURL=bootstrap.d.ts.map