import { z } from 'zod'; export declare const DappLifecyclePhaseZod: z.ZodEnum<{ planning: "planning"; provisioning: "provisioning"; recovering: "recovering"; starting: "starting"; ready: "ready"; draining: "draining"; stopping: "stopping"; stopped: "stopped"; failed: "failed"; }>; export type DappLifecyclePhase = z.infer; export declare const DappLifecycleEventZod: z.ZodEnum<{ "planning-complete": "planning-complete"; "provisioning-complete": "provisioning-complete"; "recovery-complete": "recovery-complete"; "start-complete": "start-complete"; "stop-requested": "stop-requested"; "drain-complete": "drain-complete"; "teardown-complete": "teardown-complete"; "required-invariant-failed": "required-invariant-failed"; }>; export type DappLifecycleEvent = z.infer; export interface DappLifecycleTransition { changed: boolean; event: DappLifecycleEvent; from: DappLifecyclePhase; to: DappLifecyclePhase; } export interface DappLifecycleTransitionSuccess { success: true; value: DappLifecycleTransition; } export interface DappLifecycleTransitionFailure { issue: { code: 'lifecycle.invalid-transition'; event: DappLifecycleEvent; phase: DappLifecyclePhase; }; success: false; } export type DappLifecycleTransitionResult = DappLifecycleTransitionFailure | DappLifecycleTransitionSuccess; export declare function transitionDappLifecycle(phase: DappLifecyclePhase, event: DappLifecycleEvent): DappLifecycleTransitionResult; export declare const DappErrorZod: z.ZodObject<{ code: z.ZodString; message: z.ZodString; source: z.ZodOptional; causeCodes: z.ZodArray; }, z.core.$strict>; export type DappError = z.infer; export declare const DappLaunchOutcomeZod: z.ZodDiscriminatedUnion<[z.ZodObject<{ outcome: z.ZodLiteral<"ready">; launchId: z.ZodString; systemInstanceId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ outcome: z.ZodLiteral<"stopped">; launchId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ outcome: z.ZodLiteral<"failed">; launchId: z.ZodString; error: z.ZodObject<{ code: z.ZodString; message: z.ZodString; source: z.ZodOptional; causeCodes: z.ZodArray; }, z.core.$strict>; }, z.core.$strict>], "outcome">; export type DappLaunchOutcome = z.infer; //# sourceMappingURL=lifecycle.d.ts.map