import type { Application } from '../application/application.model'; import type { IServerGroupCommand } from './configure/common/serverGroupCommandBuilder.service'; import type { ISecurityGroup, IServerGroup, ITask } from '../domain'; import type { IMoniker } from '../naming'; import type { IJob } from '../task/taskExecutor'; export interface ICapacity { desired: number | string; max: number | string; min: number | string; } export interface IServerGroupJob extends IJob { amiName?: string; asgName?: string; capacity?: Partial; credentials?: string; cloudProvider?: string; region?: string; securityGroups?: string[]; serverGroupName?: string; type?: string; moniker?: IMoniker; } export declare class ServerGroupWriter { private serverGroupTransformer; static $inject: string[]; constructor(serverGroupTransformer: any); cloneServerGroup(command: IServerGroupCommand, application: Application): PromiseLike; destroyServerGroup(serverGroup: IServerGroup, application: Application, params?: IServerGroupJob): PromiseLike; disableServerGroup(serverGroup: IServerGroup, appName: string, params?: IServerGroupJob): PromiseLike; enableServerGroup(serverGroup: IServerGroup, application: Application, params?: IServerGroupJob): PromiseLike; private getCapacityString; mapLoadBalancers(serverGroup: IServerGroup, application: Application, params?: any): PromiseLike; resizeServerGroup(serverGroup: IServerGroup, application: Application, params?: IServerGroupJob): PromiseLike; rollbackServerGroup(serverGroup: IServerGroup, application: Application, params?: IServerGroupJob): PromiseLike; unmapLoadBalancers(serverGroup: IServerGroup, application: Application, params?: any): PromiseLike; updateSecurityGroups(serverGroup: IServerGroup, securityGroups: ISecurityGroup[], application: Application, hasLaunchTemplate?: boolean): PromiseLike; } export declare const SERVER_GROUP_WRITER = "spinnaker.core.serverGroup.write.service";