declare type Parser = (value: any) => any; declare const trim: (value: string) => string; declare const trimEnd: (value: string) => string; declare const trimStart: (value: string) => string; declare const uppercase: (value: string) => string; declare const lowercase: (value: string) => string; declare const padStart: (padding: number) => (value: string) => string; declare const padEnd: (padding: number) => (value: string) => string; declare const split: (splitter: { [Symbol.split](string: string, limit?: number | undefined): string[]; }, limit?: number | undefined) => (value: string) => string[]; declare const nullWhen: (nullValue: T) => (value: any) => T | null; declare const undefinedWhen: (nullValue: T) => (value: any) => T | undefined; declare type ObjParserResult any>, Value extends Partial>> = { [P in keyof Parsers]: ReturnType | (Value extends {} ? Value[P] extends {} ? Value[P] : undefined : undefined); }; interface ObjectOptions { readonly keepUnknown?: boolean; } declare const object: >(parsers: Parsers, { keepUnknown }?: ObjectOptions) => (value: Value) => Value extends Partial> ? ObjParserResult : Value; declare const array: any>(parser: Parser_1) => (value: Value) => Value extends any[] ? (ReturnType | Value[0])[] : Value; export { ObjParserResult, ObjectOptions, Parser, array, lowercase, nullWhen, object, padEnd, padStart, split, trim, trimEnd, trimStart, undefinedWhen, uppercase };