//#region src/flatten.d.ts type StripConnectionKeys = T extends object ? Omit : never; type EdgeNode = T extends { edges?: readonly (infer Edge)[] | null; } ? Edge extends { node?: infer Node; } ? Node : never : never; type NodesArray = T extends { nodes?: readonly (infer Node)[] | null; } ? Node : never; type ConnectionNode = [EdgeNode] extends [never] ? NodesArray : EdgeNode; type FlattenGraphQLResponse = [T] extends [null | undefined] ? T : T extends readonly (infer Item)[] ? FlattenGraphQLResponse[] : T extends object ? [ConnectionNode] extends [never] ? { [K in keyof T]: FlattenGraphQLResponse } : FlattenGraphQLResponse>[] & { [K in keyof StripConnectionKeys]: FlattenGraphQLResponse[K]> } : T; declare const flattenGraphQLResponse: (value: T) => FlattenGraphQLResponse; //#endregion export { flattenGraphQLResponse as n, FlattenGraphQLResponse as t };