/** * wait / verify family — the cloud-specific members, owned by the aws lexicon: * `wait-for-stack` (CloudFormation), `wait-steady-state` (ECS), `wait-job` * (EMR). The agnostic waits (`wait-cluster-healthy`, `wait-endpoint`, * `health-gate`) stay in core. All poll a real cloud through the injectable aws * `CloudExecutor` (./cloud-executor.ts); none has a rollback — a wait is a * read-only observation, never a mutation. */ import type { Capability } from "@intentius/chant/components/capability"; import { type CloudExecutor } from "./cloud-executor.js"; export interface WaitForStackInput { /** CloudFormation stack name. */ stack: string; /** Poll interval in ms. Default: 10000. */ intervalMs?: number; /** Overall timeout in ms. */ timeoutMs?: number; } export interface WaitForStackOutput { /** Terminal stack status (`CREATE_COMPLETE`, `UPDATE_COMPLETE`, ...). */ stackStatus: string; } /** Poll a CloudFormation stack until it reaches a terminal status. No rollback: a wait is a read-only observation. */ export declare function createWaitForStackCapability(executor?: CloudExecutor): Capability; /** Default `wait-for-stack` capability, backed by the real aws `CloudExecutor`. */ export declare const waitForStackCapability: Capability; export interface WaitSteadyStateInput { /** Service identifier (e.g. an ECS service name). */ service: string; /** ECS cluster name/ARN the service lives in. Default: "default". */ cluster?: string; /** Poll interval in ms. Default: 10000. */ intervalMs?: number; /** Overall timeout in ms. Default: 10 minutes. */ timeoutMs?: number; } export interface WaitSteadyStateOutput { /** Running task/instance count once steady state is reached. */ runningCount: number; } /** Poll an ECS service until running count matches desired and no deployment is in flight. No rollback: read-only. */ export declare function createWaitSteadyStateCapability(executor?: CloudExecutor): Capability; /** Default `wait-steady-state` capability, backed by the real aws `CloudExecutor`. */ export declare const waitSteadyStateCapability: Capability; export interface WaitJobInput { /** Job/step run id (e.g. from `emr-start-job-run` or `emr-submit-step`). */ runId: string; /** Poll interval in ms. Default: 10000. */ intervalMs?: number; /** Overall timeout in ms. */ timeoutMs?: number; } export interface WaitJobOutput { /** Terminal job state (`COMPLETED`, `FAILED`, `CANCELLED`). */ state: string; } /** * Poll a submitted job/step (e.g. an EMR job run started by `emr-start-job-run`) * until it reaches a terminal state, failing the step if that state is not * `COMPLETED`. No rollback: read-only observation. */ export declare function createWaitJobCapability(executor?: CloudExecutor): Capability; /** Default `wait-job` capability, backed by the real aws `CloudExecutor`. */ export declare const waitJobCapability: Capability; //# sourceMappingURL=wait-aws.d.ts.map