import type { IServiceRessources } from './docker.js';
export interface IService {
    id: string;
    data: {
        name: string;
        description: string;
        imageId: string;
        imageVersion: string;
        environment: {
            [key: string]: string;
        };
        /**
         * the main secret bundle id, exclusive to the service
         */
        secretBundleId: string;
        /**
         * those secret bundle ids do not belong to the service itself
         * and thus live past the service lifecycle
         */
        additionalSecretBundleIds?: string[];
        scaleFactor: number;
        balancingStrategy: 'round-robin' | 'least-connections';
        ports: {
            web: number;
            custom?: {
                [domain: string]: string;
            };
        };
        resources?: IServiceRessources;
        domains: {
            name: string;
            port?: number;
            protocol?: 'http' | 'https' | 'ssh';
        }[];
        deploymentIds: string[];
    };
}
