interface Collect { (value: {}): Array; (value: {}, index: number): ArrayLike; } type Options = { collect?: Collect; default?: unknown; flatMap?: PropertyKey | false; map?: PropertyKey | false; parser?: Options["split"]; split?: string | Parser; }; type Parser = (path: string) => Array; type Path = PropertyKey | Array; type Getter = (options?: Options) => (value: unknown, path: Path, $default?: unknown) => T; declare const getter: Getter; declare const get: (value: unknown, path: Path, $default?: unknown) => T; type Step = string | number; declare const parser: (path: string) => Step[]; export { Collect, Options, Parser, Path, get, getter, parser as parse, parser, parser as split };