import { type EmulatorCapability, type EmulatorSpec } from "@intentius/chant/op"; export interface FlapsUpArgs { /** Container name. Default: `chant-mudflaps`. */ name?: string; /** Host port mapped to the emulator's `:4280`. Default: `4280`. */ port?: number; /** Image. Default: the pinned mudflaps image ({@link MUDFLAPS_IMAGE}). */ image?: string; /** Readiness timeout in ms. Default: `60000`. */ timeoutMs?: number; /** Health poll interval in ms. Default: `2000`. */ intervalMs?: number; } export interface FlapsDownArgs { /** Container name to remove. Default: `chant-mudflaps`. */ name?: string; } export declare const MUDFLAPS_SPEC: EmulatorSpec; /** * The Machines half of fly's emulator capability (#1345). * * fly ships two emulators, and `LexiconPlugin.emulator` held exactly one until * #1345 widened it — so neither was declared and `chant emulator` reported fly * as having none, while the tutorials booted mudflaps through `chant run`. */ export declare const MUDFLAPS_EMULATOR: EmulatorCapability; export declare const flapsExistsCommand: (name: string) => string; export declare const flapsRmCommand: (name: string) => string; export declare const flapsHealthUrl: (port: number) => string; /** The flaps endpoint URL (what `flyApply`'s `FLY_FLAPS_BASE_URL`/`endpoint` points at). */ export declare const flapsEndpoint: (port: number) => string; export declare const flapsRunCommand: (args?: FlapsUpArgs) => string; /** Boot a local mudflaps (Fly Machines API emulator) in Docker and return its endpoint. */ export declare const flapsUp: (args?: FlapsUpArgs, signal?: AbortSignal) => Promise<{ endpoint: string; }>; /** Stop and remove the local mudflaps container (no-op if already gone). */ export declare const flapsDown: (args?: FlapsDownArgs, signal?: AbortSignal) => Promise; //# sourceMappingURL=flaps.d.ts.map