import { IsAny, Or as LogicalOr } from "@re-do/utils"; import { ParseConfig, ValidationErrorMessage } from "./common.js"; import { Root } from "../root.js"; export declare namespace Resolution { type Definition = Def; type Validate = TypeSet[TypeName] extends ValidationErrorMessage ? TypeSet[TypeName] : Root; type Parse = IsAny extends true ? TypeSet : TypeSet[TypeName] extends ValidationErrorMessage ? unknown : TypeName extends keyof Options["seen"] ? Options["onCycle"] extends never ? ParseResolvedNonCyclicDefinition : ParseResolvedCyclicDefinition : ParseResolvedNonCyclicDefinition; type ParseResolvedCyclicDefinition = Root.Parse & { cyclic: TypeSet[TypeName]; }, { onCycle: Options["deepOnCycle"] extends true ? Options["onCycle"] : never; seen: {}; onResolve: Options["onResolve"]; deepOnCycle: Options["deepOnCycle"]; }>; type ParseResolvedNonCyclicDefinition = LogicalOr extends true ? Root.Parse : Root.Parse & { resolved: TypeSet[TypeName]; }, Options & { seen: { [K in TypeName]: true; }; }>; const type: string; const parse: { meta: { type: string; inherits: () => import("./common.js").GetHandledMethods<{ type: string; inherits: () => import("./common.js").GetHandledMethods<{ type: string; inherits: () => import("./common.js").GetHandledMethods<{ type: string | number; inherits: () => import("./common.js").GetHandledMethods<{ type: string | number | { [x: string]: any; }; inherits: () => import("./common.js").GetHandledMethods<{ type: string | number | { [x: string]: any; }; inherits: () => void; handles: {}; }>; handles: {}; matches: import("./common.js").DefinitionMatcher; }>; handles: {}; matches: import("./common.js").DefinitionMatcher; }>; handles: {}; matches: import("./common.js").DefinitionMatcher; }>; handles: {}; matches: import("./common.js").DefinitionMatcher; }>; handles: { allows: ({ components: { resolve } }: { def: string; ctx: import("./common.js").ParseContext; } & { components: { resolve: () => import("./common.js").ParseResult; }; }, valueType: import("./common.js").ExtractableDefinition, opts: import("./common.js").AllowsOptions) => import("./common.js").ValidationErrors; generate: ({ components: { resolve }, ctx, def }: { def: string; ctx: import("./common.js").ParseContext; } & { components: { resolve: () => import("./common.js").ParseResult; }; }, opts: import("./common.js").GenerateOptions) => any; references: ({ def }: { def: string; ctx: import("./common.js").ParseContext; } & { components: { resolve: () => import("./common.js").ParseResult; }; }, opts: import("./common.js").ReferencesOptions) => string[]; }; matches: import("./common.js").DefinitionMatcher; }; } & import("./common.js").ParseFunction import("./common.js").ParseResult; }>; const delegate: string; }