import { Effect } from "effect"; import Docker from "dockerode"; import * as DevnetDefault from "./DevnetDefault.js"; declare const CardanoDevNetError_base: new = {}>(args: import("effect/Types").Equals extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & { readonly _tag: "CardanoDevNetError"; } & Readonly; export declare class CardanoDevNetError extends CardanoDevNetError_base<{ reason: "container_not_found" | "container_creation_failed" | "container_start_failed" | "container_stop_failed" | "container_removal_failed" | "container_inspection_failed" | "temp_directory_creation_failed" | "config_file_write_failed" | "file_permissions_failed" | "network_creation_failed" | "kupo_container_creation_failed" | "kupo_container_start_failed" | "kupo_container_stop_failed" | "ogmios_container_creation_failed" | "ogmios_container_start_failed" | "ogmios_container_stop_failed"; message: string; cause?: unknown; }> { } export interface DevNetContainer { readonly id: string; readonly name: string; } export interface DevNetCluster { readonly cardanoNode: DevNetContainer; readonly kupo?: DevNetContainer; readonly ogmios?: DevNetContainer; readonly networkName: string; } /** * Cluster management operations for Cardano DevNet. * * @since 2.0.0 * @category cluster */ export declare const Cluster: { /** * Create a new cardano devnet cluster with optional Kupo and Ogmios containers. * * @since 2.0.0 * @category constructors */ readonly make: (config?: DevnetDefault.DevNetConfig) => Effect.Effect; /** * Create a new cardano devnet cluster, throws on error. * * @since 2.0.0 * @category constructors */ readonly makeOrThrow: (config?: DevnetDefault.DevNetConfig) => Promise; /** * Start a devnet cluster (all containers). * * @since 2.0.0 * @category lifecycle */ readonly start: (cluster: DevNetCluster) => Effect.Effect; /** * Start a devnet cluster, throws on error. * * @since 2.0.0 * @category lifecycle */ readonly startOrThrow: (cluster: DevNetCluster) => Promise; /** * Stop a devnet cluster (all containers). * * @since 2.0.0 * @category lifecycle */ readonly stop: (cluster: DevNetCluster) => Effect.Effect; /** * Stop a devnet cluster, throws on error. * * @since 2.0.0 * @category lifecycle */ readonly stopOrThrow: (cluster: DevNetCluster) => Promise; /** * Remove a devnet cluster (all containers and network). * * @since 2.0.0 * @category lifecycle */ readonly remove: (cluster: DevNetCluster) => Effect.Effect; /** * Remove a devnet cluster, throws on error. * * @since 2.0.0 * @category lifecycle */ readonly removeOrThrow: (cluster: DevNetCluster) => Promise; }; /** * Individual container management operations. * * @since 2.0.0 * @category container */ export declare const Container: { /** * Start a specific devnet container. * * @since 2.0.0 * @category lifecycle */ readonly start: (container: DevNetContainer) => Effect.Effect; /** * Start a specific devnet container, throws on error. * * @since 2.0.0 * @category lifecycle */ readonly startOrThrow: (container: DevNetContainer) => Promise; /** * Stop a specific devnet container. * * @since 2.0.0 * @category lifecycle */ readonly stop: (container: DevNetContainer) => Effect.Effect; /** * Stop a specific devnet container, throws on error. * * @since 2.0.0 * @category lifecycle */ readonly stopOrThrow: (container: DevNetContainer) => Promise; /** * Remove a specific devnet container. * * @since 2.0.0 * @category lifecycle */ readonly remove: (container: DevNetContainer) => Effect.Effect; /** * Remove a specific devnet container, throws on error. * * @since 2.0.0 * @category lifecycle */ readonly removeOrThrow: (container: DevNetContainer) => Promise; /** * Get container status information. * * @since 2.0.0 * @category inspection */ readonly getStatus: (container: DevNetContainer) => Effect.Effect; /** * Get container status information, throws on error. * * @since 2.0.0 * @category inspection */ readonly getStatusOrThrow: (container: DevNetContainer) => Promise; }; export {}; //# sourceMappingURL=Devnet.d.ts.map