import { Command } from '@oclif/core';
import { APIClient } from '@mb-it-org/shared';
import { type FastifyInstance } from 'fastify';
import { type AuditManifest, type ServeRoute } from '../serve/router.js';
export interface ServeAppOptions {
    projectApis?: boolean;
    proxyAll?: boolean;
}
export declare function registerRoutes(app: FastifyInstance, routes: ServeRoute[], getClient: () => Promise<APIClient>): void;
export declare function buildApp(manifest: AuditManifest | undefined, getClient: () => Promise<APIClient>, options?: ServeAppOptions): FastifyInstance;
export default class Serve extends Command {
    static description: string;
    static examples: string[];
    static flags: {
        manifest: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
        'proxy-all': import("@oclif/core/interfaces").BooleanFlag<boolean>;
        'project-apis': import("@oclif/core/interfaces").BooleanFlag<boolean>;
        port: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
        host: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
    };
    run(): Promise<void>;
}
//# sourceMappingURL=serve.d.ts.map