import { ElementOf, Iteration, ListPossibleTypes, Split, WithDefaults } from "@re-do/utils"; import { Root, Shallow } from "./components"; declare type ControlCharacters = ["|", "?", "(", ")", ",", "[", "]", "=", ">", " "]; declare type RawReferences = RemainingControlCharacters extends Iteration ? RawReferences>, Remaining> : Exclude>, "">; declare type ShallowReferences = WithDefaults, Result extends string = RawReferences<`${Def}`> & CompiledOptions["filter"]> = CompiledOptions["asList"] extends true ? ListPossibleTypes : Result; export declare type ReferencesOptions = { asList?: boolean; filter?: string; }; export declare type References = Def extends Shallow.Definition ? ShallowReferences : { [K in keyof Def]: References; }; export {};