import { CloudApiService } from '../api/services/cloudApi.service'; import { IRequestExtension } from '../types'; import { CloudResourceService, IImportCloudResourceInput } from './types/cloud.types'; export type CloudMaterializeContext = { cloudApi: CloudApiService; auth: IRequestExtension; productTag: string; /** Tracks resources provisioned in this create/update batch (cloud:service:name → resource id). */ provisionedResources?: Map; }; export declare function cloudResourceKey(cloudTag: string, service: string, resourceName: string): string; /** Import if cached or listed; otherwise provision once and cache for sibling envs. */ export declare function resolveCloudResource(ctx: CloudMaterializeContext, input: { cloudTag: string; service: CloudResourceService; resourceName?: string; baseInput: Omit; provisionFields?: Record; importExtras?: Record; listRegion?: string; }): Promise; export declare function materializeCloudEnvsSequential(envs: TEnv[], ctx: Omit, materialize: (env: TEnv, batchCtx: CloudMaterializeContext) => Promise): Promise;