import { Effect, Option, Schema as S } from 'effect'; import * as Command from '../../command/index.js'; export declare const ChildModel: S.Struct<{ readonly status: S.Literals; }>; export type ChildModel = typeof ChildModel.Type; export declare const SubmittedForm: import("../../schema/index.js").CallableTaggedStruct<"SubmittedForm", {}>; export declare const SucceededSubmit: import("../../schema/index.js").CallableTaggedStruct<"SucceededSubmit", { id: S.String; }>; export declare const CancelledForm: import("../../schema/index.js").CallableTaggedStruct<"CancelledForm", {}>; export declare const CompletedReset: import("../../schema/index.js").CallableTaggedStruct<"CompletedReset", {}>; export declare const ChildMessage: S.Union, import("../../schema/index.js").CallableTaggedStruct<"SucceededSubmit", { id: S.String; }>, import("../../schema/index.js").CallableTaggedStruct<"CancelledForm", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedReset", {}>]>; export type ChildMessage = typeof ChildMessage.Type; export declare const RequestedSave: import("../../schema/index.js").CallableTaggedStruct<"RequestedSave", { id: S.String; }>; export declare const RequestedCancel: import("../../schema/index.js").CallableTaggedStruct<"RequestedCancel", {}>; export declare const ChildOutMessage: S.Union, import("../../schema/index.js").CallableTaggedStruct<"RequestedCancel", {}>]>; export type ChildOutMessage = typeof ChildOutMessage.Type; export declare const SubmitForm: Command.CommandDefinitionNoArgs<"SubmitForm", Effect.Effect<{ readonly _tag: "SucceededSubmit"; readonly id: string; }, never, never>>; export declare const ResetForm: Command.CommandDefinitionNoArgs<"ResetForm", Effect.Effect<{ readonly _tag: "CompletedReset"; }, never, never>>; export declare const initialChildModel: ChildModel; export declare const childUpdate: (_model: ChildModel, message: ChildMessage) => readonly [ChildModel, ReadonlyArray>, Option.Option]; export declare const ParentModel: S.Struct<{ readonly child: S.Struct<{ readonly status: S.Literals; }>; readonly savedIds: S.$Array; readonly cancelled: S.Boolean; }>; export type ParentModel = typeof ParentModel.Type; export declare const GotChildMessage: import("../../schema/index.js").CallableTaggedStruct<"GotChildMessage", { message: S.Union, import("../../schema/index.js").CallableTaggedStruct<"SucceededSubmit", { id: S.String; }>, import("../../schema/index.js").CallableTaggedStruct<"CancelledForm", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedReset", {}>]>; }>; export declare const CompletedParentReset: import("../../schema/index.js").CallableTaggedStruct<"CompletedParentReset", {}>; export declare const ParentMessage: S.Union, import("../../schema/index.js").CallableTaggedStruct<"SucceededSubmit", { id: S.String; }>, import("../../schema/index.js").CallableTaggedStruct<"CancelledForm", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedReset", {}>]>; }>, import("../../schema/index.js").CallableTaggedStruct<"CompletedParentReset", {}>]>; export type ParentMessage = typeof ParentMessage.Type; export declare const initialParentModel: ParentModel; export declare const parentUpdate: (parentModel: ParentModel, message: ParentMessage) => readonly [ParentModel, ReadonlyArray>]; //# sourceMappingURL=formChild.d.ts.map