import type { BatchGetDocumentsResponse, BatchWriteResponse, CommitResponse, FirestoreDocument, PartitionQueryResponse, RunAggregationQueryResponse, RunQueryResponse } from './types.js'; export type FetchLike = typeof fetch; export declare class FirestoreApiError extends Error { readonly httpStatus: number; readonly apiStatus: string | null; constructor(message: string, options: { httpStatus: number; apiStatus?: string | null; }); } export type FirestoreRestClientOptions = { projectId: string; databaseId?: string; baseUrl: string; getAccessToken?: () => Promise; fetch?: FetchLike; }; export declare class FirestoreRestClient { private readonly projectId; private readonly databaseId; private readonly baseUrl; private readonly fetchImpl; private readonly getAccessToken?; constructor(options: FirestoreRestClientOptions); databaseResourceName(): string; documentResourceName(documentPath: string): string; documentUrl(documentPath: string): string; runQueryUrl(parentResourceName: string): string; runAggregationQueryUrl(parentResourceName: string): string; beginTransactionUrl(): string; commitUrl(): string; batchWriteUrl(): string; listDocumentsUrl(collectionPath: string): string; listCollectionIdsUrl(parentResourceName: string): string; batchGetDocumentsUrl(): string; partitionQueryUrl(parentResourceName: string): string; getDocument(options: { documentPath: string; transaction?: string; }): Promise; batchGetDocuments(options: { documentNames: string[]; transaction?: string; }): Promise; deleteDocument(options: { documentPath: string; }): Promise; runQuery(options: { parentResourceName: string; structuredQuery: unknown; transaction?: string; }): Promise; runAggregationQuery(options: { parentResourceName: string; structuredAggregationQuery: unknown; transaction?: string; }): Promise; beginTransaction(): Promise; commit(options: { writes: unknown[]; transaction?: string; }): Promise; batchWrite(options: { writes: unknown[]; }): Promise; listDocuments(options: { collectionPath: string; pageSize?: number; pageToken?: string; }): Promise<{ documents: FirestoreDocument[]; nextPageToken: string | null; }>; listCollectionIds(options: { parentResourceName: string; pageSize?: number; pageToken?: string; }): Promise<{ collectionIds: string[]; nextPageToken: string | null; }>; partitionQuery(options: { parentResourceName: string; structuredQuery: unknown; partitionCount: number; pageSize?: number; pageToken?: string; }): Promise<{ partitions: PartitionQueryResponse['partitions']; nextPageToken: string | null; }>; private authedFetch; private toError; } //# sourceMappingURL=client.d.ts.map