import { Evaluate, Narrow } from "@re-do/utils"; import { ParseFunction, DefaultParseTypeOptions } from "./parse.js"; import { TypeSet } from "./components"; export declare const createCompileFunction: (declaredTypeNames: import("@re-do/utils").CastWithExclusion, []>) => >, keyof TypeSet.Validate> & string, DeclaredTypeNames extends never[] ? keyof TypeSet.Validate> & string : import("@re-do/utils").ElementOf, import("@re-do/utils").Cast> & string : import("@re-do/utils").ElementOf) extends keyof TypeSet.Validate> & string ? never : DeclaredTypeNames extends never[] ? keyof TypeSet.Validate> & string : import("@re-do/utils").ElementOf>, (DeclaredTypeNames extends never[] ? keyof TypeSet.Validate> & string : import("@re-do/utils").ElementOf)[]> extends [] ? {} : import("@re-do/utils").StringReplace<`Declared types ${import("@re-do/utils").Join> & string : import("@re-do/utils").ElementOf) extends keyof TypeSet.Validate> & string ? never : DeclaredTypeNames extends never[] ? keyof TypeSet.Validate> & string : import("@re-do/utils").ElementOf>, (DeclaredTypeNames extends never[] ? keyof TypeSet.Validate> & string : import("@re-do/utils").ElementOf)[]>>}'`>, ", ", "">} were never defined.`, "@types", import("@re-do/utils").Join> & string : import("@re-do/utils").ElementOf) extends keyof TypeSet.Validate> & string ? never : DeclaredTypeNames extends never[] ? keyof TypeSet.Validate> & string : import("@re-do/utils").ElementOf>, (DeclaredTypeNames extends never[] ? keyof TypeSet.Validate> & string : import("@re-do/utils").ElementOf)[]>>}'`>, ", ", "">>>>(...definitions: import("@re-do/utils").CastWithExclusion, []>) => { parse: ParseFunction>; types: TypeSet.Parse, DefaultParseTypeOptions>; }; export declare const compile: >, keyof TypeSet.Validate> & string, keyof TypeSet.Validate> & string, import("@re-do/utils").Cast> & string extends keyof TypeSet.Validate> & string ? never : keyof TypeSet.Validate> & string>, (keyof TypeSet.Validate> & string)[]> extends [] ? {} : import("@re-do/utils").StringReplace<`Declared types ${import("@re-do/utils").Join> & string extends keyof TypeSet.Validate> & string ? never : keyof TypeSet.Validate> & string>, (keyof TypeSet.Validate> & string)[]>>}'`>, ", ", "">} were never defined.`, "@types", import("@re-do/utils").Join> & string extends keyof TypeSet.Validate> & string ? never : keyof TypeSet.Validate> & string>, (keyof TypeSet.Validate> & string)[]>>}'`>, ", ", "">>>>(...definitions: import("@re-do/utils").CastWithExclusion, []>) => { parse: ParseFunction>; types: TypeSet.Parse, DefaultParseTypeOptions>; }; export declare type CompileFunction = >(...definitions: Narrow) => CompiledTypeSet; export declare type CompiledTypeSet> = Evaluate<{ parse: ParseFunction; types: TypeSet.Parse; }>;