import { ResourceObject, RootObject } from 'include-json-api'; export declare type AtLeast = RecursivePartial & Pick; export declare type Unpacked = T extends (infer U)[] ? U : T; export declare type MinResource = T extends (infer U)[] ? U extends ResourceObject ? AtLeast[] : never : AtLeast, 'id' | 'type'>; export declare type RecursivePartial = { [P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial[] : T[P] extends object ? RecursivePartial : T[P]; }; export declare type PaginatedResult = T & { links: { next?: string; }; meta: { pagination: { cursors?: { next?: string; }; total: number; }; }; }; declare type RESTGetAPIResultCrude = RootObject & { data?: MinResource; included?: MinResource[]; links?: { self: string; }; }; export declare type RESTGetAPIResult = R extends (ResourceObject)[] ? PaginatedResult> : RESTGetAPIResultCrude; export declare type RESTGetAPIIncludesStr = keyof T['relationships']; export declare type RESTGetAPIIncludes = NonNullable][keyof T['relationships'][RESTGetAPIIncludesStr]]>>; export {}; //# sourceMappingURL=internals.d.ts.map