/**
 * Service Bundler - Creates optimized, independent microservice packages
 * Target: Each service < 1MB for serverless deployment
 */
export interface BundleConfig {
    serviceName: string;
    domain: string;
    outputDir: string;
    targetSize?: number;
    includeTests?: boolean;
    includeDocs?: boolean;
}
export interface BundleResult {
    serviceName: string;
    sizeBytes: number;
    sizeMB: number;
    files: number;
    location: string;
    optimized: boolean;
}
export interface IServiceBundler {
    bundleService(config: BundleConfig): Promise<BundleResult>;
    bundleAll(domain: string, services: string[], outputDir?: string): Promise<BundleResult[]>;
    createServiceImage(serviceName: string, domain: string, registry?: string): Promise<string>;
}
export interface IServiceBundlerManager {
    getInstance(): IServiceBundler;
    bundleService(config: BundleConfig): Promise<BundleResult>;
    bundleAll(domain: string, services: string[], outputDir?: string): Promise<BundleResult[]>;
    createServiceImage(serviceName: string, domain: string, registry?: string): Promise<string>;
    create(): IServiceBundler;
}
/**
 * Service bundler for independent deployment
 */
export declare const ServiceBundler: IServiceBundlerManager;
/**
 * CLI command to bundle services
 */
export declare function bundleServices(domain: string, services: string): Promise<void>;
export declare const bundleService: (config: BundleConfig) => Promise<BundleResult>;
export declare const bundleAll: (domain: string, services: string[], outputDir?: string) => Promise<BundleResult[]>;
export declare const createServiceImage: (serviceName: string, domain: string, registry?: string) => Promise<string>;
export default ServiceBundler;
//# sourceMappingURL=ServiceBundler.d.ts.map