import type { ConfigPreviewResult, ConfigWriteResult, FleetConfigService } from './fleet-config-service.js'; import type { TopologyDraftStore } from './topology-draft-store.js'; import type { MergedTopology } from './topology-model.js'; export interface PromoteRequest { ids: string[]; configRevision: string; draftRevision?: string; } export interface PromotePreview extends ConfigPreviewResult { promoted: string[]; } export interface PromoteResult extends ConfigWriteResult { promoted: string[]; /** False when the config landed but the sketches could not be cleared. */ draftsCleared: boolean; draftRevision: string; } export interface TopologyPromoteOptions { drafts: TopologyDraftStore; configuration: FleetConfigService; topology(): Promise; } export declare class TopologyPromoteService { private readonly options; constructor(options: TopologyPromoteOptions); preview(request: PromoteRequest): Promise; promote(request: PromoteRequest): Promise; private clearDrafts; /** Build the configuration model that adding `ids` produces. */ private build; }