import { FieldPath } from './FieldPath'; import { CollectionReference, Query, QueryConstraint, QuerySnapshot, AggregateField, AggregateSpec, AggregateSpecData, AggregateQuerySnapshot } from '../types/index'; export declare function getCanonicalQueryKey(collectionPath: string, constraints: QueryConstraint[]): string; export declare function validateAndDeduplicateServerDocs(docs: any[]): Array<{ id: string; fields: any; }>; export declare const query: (queryObject: Query | CollectionReference, ...queryConstraints: QueryConstraint[]) => Query; export declare const getCachedDocs: (queryOrCollection: Query | CollectionReference, fromCache?: boolean) => QuerySnapshot; export declare const getDocs: (queryOrCollection: Query | CollectionReference) => Promise>; export declare const count: () => AggregateField; export declare const sum: (field: string | FieldPath) => AggregateField; export declare const average: (field: string | FieldPath) => AggregateField; export declare const getAggregateFromServer: (queryOrCollection: Query | CollectionReference, aggregateSpec: T) => Promise>>; export declare const getCountFromServer: (queryOrCollection: Query | CollectionReference) => Promise>;