import { z } from 'zod'; import type { EffectReceipt } from './effectModel.ts'; export declare const Xl1TransactionEffectPlanZod: z.ZodUnion; state: z.ZodLiteral<"action">; }, z.core.$strict>, z.ZodObject<{ action: z.ZodLiteral<"write-content">; contentHash: z.ZodString; signedSequence: z.ZodNumber; transactionHash: z.ZodString; state: z.ZodLiteral<"action">; }, z.core.$strict>, z.ZodObject<{ contentHash: z.ZodString; signedSequence: z.ZodNumber; transactionHash: z.ZodString; state: z.ZodLiteral<"action">; action: z.ZodLiteral<"verify-content">; }, z.core.$strict>, z.ZodObject<{ action: z.ZodLiteral<"reconcile-broadcast">; signedSequence: z.ZodNumber; transactionHash: z.ZodString; state: z.ZodLiteral<"action">; }, z.core.$strict>, z.ZodObject<{ signedSequence: z.ZodNumber; transactionHash: z.ZodString; state: z.ZodLiteral<"action">; action: z.ZodLiteral<"observe-inclusion">; }, z.core.$strict>, z.ZodObject<{ action: z.ZodLiteral<"observe-finality">; inclusionSequence: z.ZodNumber; signedSequence: z.ZodNumber; transactionHash: z.ZodString; state: z.ZodLiteral<"action">; }, z.core.$strict>, z.ZodObject<{ reasonCode: z.ZodString; state: z.ZodLiteral<"pending">; }, z.core.$strict>, z.ZodObject<{ state: z.ZodEnum<{ abandoned: "abandoned"; complete: "complete"; }>; }, z.core.$strict>]>; export type Xl1TransactionEffectPlan = z.infer; export declare const Xl1TransactionEffectPlanIssueCodes: readonly ["xl1-effect-plan.invalid-receipt", "xl1-effect-plan.unsupported-effect-kind"]; export declare const Xl1TransactionEffectPlanIssueCodeZod: z.ZodEnum<{ "xl1-effect-plan.invalid-receipt": "xl1-effect-plan.invalid-receipt"; "xl1-effect-plan.unsupported-effect-kind": "xl1-effect-plan.unsupported-effect-kind"; }>; export type Xl1TransactionEffectPlanIssueCode = z.infer; export declare class Xl1TransactionEffectPlanError extends Error { readonly code: Xl1TransactionEffectPlanIssueCode; constructor(code: Xl1TransactionEffectPlanIssueCode, message: string); } /** * Selects the next safe baseline action without performing I/O. * * V1 replacement histories remain readable but cannot execute without a qualified * eligibility contract. An invalidated initial inclusion alone never authorizes replacement. */ export declare function planXl1TransactionEffect(receiptValue: EffectReceipt): Xl1TransactionEffectPlan; //# sourceMappingURL=xl1TransactionEffectPlan.d.ts.map