import type { Flatten, KeyWithOptionalPrefix, NestedKeys, ObjectLiteral, OnlyObject, SimpleKeys } from '../../types'; import type { RelationsParseOutput } from '../relations'; import type { ParseAllowedOption } from '../type'; import type { FieldOperator } from './constants'; type FieldWithOperator = KeyWithOptionalPrefix; export type FieldsBuildSimpleKeyInput = FieldWithOperator>; export type FieldsBuildNestedKeyInput = FieldWithOperator>; export type FieldsBuildRecordInput = { [K in keyof T]?: Flatten extends OnlyObject ? FieldsBuildInput> : never; }; export type FieldsBuildInput = FieldsBuildRecordInput | (FieldsBuildSimpleKeyInput[] | FieldsBuildRecordInput)[] | FieldsBuildNestedKeyInput[] | FieldsBuildNestedKeyInput; export type FieldsParseOptions = Record> = { mapping?: Record; allowed?: ParseAllowedOption; default?: ParseAllowedOption; defaultPath?: string; throwOnFailure?: boolean; relations?: RelationsParseOutput; }; export type FieldsParseOutputElement = { key: string; path?: string; value?: string; }; export type FieldsParseOutput = FieldsParseOutputElement[]; export type FieldsInputTransformed = { default: string[]; included: string[]; excluded: string[]; }; export {}; //# sourceMappingURL=type.d.ts.map