import { Evaluate } from "@re-do/utils"; import { ParseSplittable, ValidateSplittable, ParseConfig } from "./common.js"; import { Fragment } from "./fragment.js"; export declare namespace ArrowFunction { type Definition = `(${Parameters})=>${Return}`; type Validate & string, ValidateReturn extends string = Fragment.Validate> = Parameters extends ValidateParameters ? Return extends ValidateReturn ? Root : ValidateReturn : ValidateParameters; type Parse = Evaluate<(...args: ParseParameterTuple) => Fragment.Parse>; const type: `(${string})=>${string}`; const parse: { meta: { type: `(${string})=>${string}`; inherits: () => never; handles: { allows: ({ def, ctx: { path } }: { def: `(${string})=>${string}`; ctx: import("./common.js").ParseContext; } & { components: { parameters: import("./common.js").ParseResult[]; returned: import("./common.js").ParseResult; }; }, valueType: import("./common.js").ExtractableDefinition) => { [x: string]: string; }; references: ({ components: { parameters, returned }, ctx }: { def: `(${string})=>${string}`; ctx: import("./common.js").ParseContext; } & { components: { parameters: import("./common.js").ParseResult[]; returned: import("./common.js").ParseResult; }; }, opts: import("./common.js").ReferencesOptions) => string[]; generate: ({ components: { returned } }: { def: `(${string})=>${string}`; ctx: import("./common.js").ParseContext; } & { components: { parameters: import("./common.js").ParseResult[]; returned: import("./common.js").ParseResult; }; }, opts: import("./common.js").GenerateOptions) => (...args: any[]) => any; }; matches: import("./common.js").DefinitionMatcher<`(${string})=>${string}`>; }; } & import("./common.js").ParseFunction<`(${string})=>${string}`, { parameters: import("./common.js").ParseResult[]; returned: import("./common.js").ParseResult; }>; const delegate: `(${string})=>${string}`; } declare type ValidateParameterTuple = Def extends "" ? "" : ValidateSplittable<",", Def, Root, TypeSet>; declare type ParseParameterTuple = Def extends "" ? [] : ParseSplittable<",", Def, TypeSet, Options>; export {};