import { type EmulatorSpec, type EmulatorCapability } from "@intentius/chant/op"; export interface FlociUpArgs { /** Container name. Default: `chant-floci`. */ name?: string; /** Host port mapped to the emulator's `:4566`. Default: `4566`. */ port?: number; /** Floci image. Default: `floci/floci:latest`. */ image?: string; /** Mount the docker socket — Floci needs it for the ECR backing registry. Default: `false`. */ dockerSocket?: boolean; /** `AWS_REGION` exported for subsequent steps. Default: `us-east-1`. */ region?: string; /** Service to wait for in `/_localstack/health`. Default: `cloudformation`. */ readyService?: string; /** Readiness timeout in ms. Default: `60000`. */ timeoutMs?: number; /** Health poll interval in ms. Default: `2000`. */ intervalMs?: number; } export interface FlociDownArgs { /** Container name to remove. Default: `chant-floci`. */ name?: string; } /** True once the health body reports the required service (e.g. `"cloudformation"`). */ export declare function isFlociReady(healthBody: string, service: string): boolean; /** The AWS env vars that point the `aws` CLI / SDK at a local Floci endpoint. */ export declare function flociEnv(port: number, region: string): Record; /** The Floci emulator spec — the aws plugin's `emulator` capability (#920). */ export declare const FLOCI_SPEC: EmulatorSpec; /** The aws plugin's emulator capability (#920): Floci + the AWS env that points * the SDK / `chant graph --live` / a triggered Op at it. */ export declare const FLOCI_EMULATOR: EmulatorCapability; export declare const flociExistsCommand: (name: string) => string; export declare const flociRmCommand: (name: string) => string; export declare const flociHealthUrl: (port: number) => string; /** Build the `docker run` command that boots Floci. */ export declare function flociRunCommand(args?: FlociUpArgs): string; /** * Boot a local Floci AWS emulator in Docker and point subsequent steps at it. * * Idempotent: reuses a running container of the same name. Waits for the health * endpoint to report `readyService`, then sets `AWS_ENDPOINT_URL` + test creds in * the process environment so a following `nativeApply`/`cfn-deploy` targets the * emulator. Env injection assumes the in-process local executor; under a * distributed Temporal worker, pass the endpoint explicitly instead. */ export declare function flociUp(args?: FlociUpArgs, signal?: AbortSignal): Promise<{ endpoint: string; }>; /** Stop and remove the local Floci emulator container (no-op if already gone). */ export declare function flociDown(args?: FlociDownArgs, signal?: AbortSignal): Promise; //# sourceMappingURL=floci.d.ts.map