import type { FreeSemigroup } from "../../FreeSemigroup"; export declare const required = "required"; export declare const optional = "optional"; export declare type Kind = typeof required | typeof optional; export interface Leaf { readonly _tag: "Leaf"; readonly actual: unknown; readonly expected: string; } export interface Info { readonly _tag: "Info"; error: E; } export interface Key { readonly _tag: "Key"; readonly key: string; readonly kind: Kind; readonly errors: FreeSemigroup>; } export interface Index { readonly _tag: "Index"; readonly index: number; readonly kind: Kind; readonly errors: FreeSemigroup>; } export interface Member { readonly _tag: "Member"; readonly index: number; readonly errors: FreeSemigroup>; } export interface Lazy { readonly _tag: "Lazy"; readonly id: string; readonly errors: FreeSemigroup>; } export interface Wrap { readonly _tag: "Wrap"; readonly error: E; readonly errors: FreeSemigroup>; } export declare type DecodeError = Leaf | Key | Index | Member | Lazy | Wrap | Info; //# sourceMappingURL=model.d.ts.map