import { Parameter } from '../constants'; export declare type Flatten = Type extends Array ? Item : Type; export declare type OnlyScalar = T extends string | number | boolean | undefined | null ? T : never; export declare type OnlySingleObject = T extends { [key: string]: any; } ? T : never; export declare type OnlyObject = Flatten extends OnlySingleObject> ? T | Flatten : never; export declare type ToOneAndMany = T extends Array ? (Item | Item[]) : (T[] | T); export declare type KeyWithOptionalPrefix = T extends string ? (`${O}${T}` | T) : never; export declare type ParseOutputElementBase = (K extends `${Parameter.PAGINATION}` ? Record : { key: string; }) & (K extends `${Parameter.RELATIONS}` ? Record : { alias?: string; }) & (K extends `${Parameter.FIELDS}` ? { value?: V; } : { value: V; }); export declare type ParseOptionsBase = (K extends `${Parameter.PAGINATION}` ? Record : { aliasMapping?: Record; allowed?: A; defaultAlias?: string; }) & (K extends `${Parameter.PAGINATION}` | `${Parameter.RELATIONS}` ? Record : { relations?: ParseOutputElementBase[]; }); //# sourceMappingURL=type.d.ts.map