import type { Application, DeckRuntimeServices, InstanceTypeService } from '@spinnaker/core'; import type { IAmazonServerGroup, IAmazonServerGroupView } from '../../domain'; import type { AwsServerGroupConfigurationService } from './serverGroupConfiguration.service'; import type { IAmazonServerGroupCommand, IAmazonServerGroupDeployConfiguration } from './serverGroupConfiguration.service'; export interface AwsServerGroupCommandBuilder { buildNewServerGroupCommand(application: Application, defaults?: { account?: string; region?: string; subnet?: string; mode?: string; }): Promise>; buildServerGroupCommandFromExisting(application: Application, serverGroup: IAmazonServerGroupView, mode?: string): Promise>; buildNewServerGroupCommandForPipeline(): Promise>; buildServerGroupCommandFromPipeline(application: Application, originalCluster: IAmazonServerGroupDeployConfiguration): Promise>; buildUpdateServerGroupCommand(serverGroup: IAmazonServerGroup): Partial; } export declare function createAwsServerGroupCommandBuilder(instanceTypeService: InstanceTypeService, awsServerGroupConfigurationService: AwsServerGroupConfigurationService): AwsServerGroupCommandBuilder; export declare class AwsServerGroupCommandBuilderDelegate implements AwsServerGroupCommandBuilder { static readonly requiresDeckRuntimeServices = true; private delegate; constructor(_promiseService: unknown, runtimeServices: DeckRuntimeServices); buildNewServerGroupCommand(application: Application, defaults?: { account?: string; region?: string; subnet?: string; mode?: string; }): Promise>; buildServerGroupCommandFromExisting(application: Application, serverGroup: IAmazonServerGroupView, mode?: string): Promise>; buildNewServerGroupCommandForPipeline(): Promise>; buildServerGroupCommandFromPipeline(application: Application, originalCluster: IAmazonServerGroupDeployConfiguration): Promise>; buildUpdateServerGroupCommand(serverGroup: IAmazonServerGroup): Partial; } export declare const AwsServerGroupCommandBuilder: typeof AwsServerGroupCommandBuilderDelegate;