import type { LoaderMappings, SelectionMap } from '../types'; import type { FieldMap } from './relation-map'; export type SelectionMode = 'include' | 'select'; export interface SelectionState { fieldMap: FieldMap; query: object; mode: SelectionMode; fields: Set; counts: Map | boolean>; relations: Map; mappings: LoaderMappings; parent?: SelectionState; skipDeferredFragments: boolean; } export declare function selectionCompatible(state: SelectionState, selectionMap: SelectionMap | boolean, ignoreQuery?: boolean): boolean; export declare function stateCompatible(state: SelectionState, newState: SelectionState, ignoreQuery?: boolean): boolean; export declare function mergeState(state: SelectionState, newState: SelectionState): void; export declare function createState(fieldMap: FieldMap, mode: SelectionMode, skipDeferredFragments: boolean, parent?: SelectionState): SelectionState; export declare function mergeSelection(state: SelectionState, { select, include, ...query }: SelectionMap): void; export declare function selectionToQuery(state: SelectionState): SelectionMap; //# sourceMappingURL=selections.d.ts.map