import { FeedResponse, ItemResponse } from './response.js'; import { RetryPolicy } from './retry.js'; import { SessionContainer } from './session.js'; import { Collection, ConnectionInfo, ConsistencyLevel, Database, Document, IndexingDirective, IndexingPolicy, OfferType, PartitionKeyDefinition, Resource } from './types.js'; export type CosmosClientConfig = (ConnectionInfo & CosmosClientConfigBase) | ({ connectionString: string; } & CosmosClientConfigBase); interface CosmosClientConfigBase { retryPolicy?: RetryPolicy; consistencyLevel?: ConsistencyLevel; dbId?: string; collId?: string; sessions?: SessionContainer; enableCrossPartitionQueries?: boolean; fetch?: typeof fetch; } export declare class CosmosClient { private readonly endpoint; private readonly signer; private readonly retryPolicy; private readonly consistencyLevel; private readonly dbId; private readonly collId; private readonly enableCrossPartitionQueries; private readonly systemFetch; readonly sessions: SessionContainer; requestCharges: number; retries: { count: number; delayMs: number; }; constructor(config: CosmosClientConfig); getDatabases(args?: GetDatabasesArgs): Promise>; getDatabase(args?: GetDatabaseArgs): Promise>; getCollections(args?: GetCollectionsArgs): Promise>; getCollection(args?: GetCollectionArgs): Promise>; createCollection(args: CreateCollectionArgs): Promise>; replaceCollection(args: ReplaceCollectionArgs): Promise>; deleteCollection(args?: DeleteCollectionArgs): Promise; getDocuments(args: GetDocumentsArgs): Promise>; getDocument(args: GetDocumentArgs): Promise>; createDocument(args: CreateDocumentArgs): Promise>; replaceDocument(args: ReplaceDocumentArgs): Promise>; deleteDocument(args: DeleteDocumentArgs): Promise; queryDocuments(args: QueryDocumentsArgs): Promise>; private getNext; private fetchWithRetry; private fetch; private setHeaders; } export type DocumentInit = BufferSource | ReadableStream | string | Resource; interface CommonArgs { activityId?: string; consistencyLevel?: ConsistencyLevel; } interface CommonGetArgs extends CommonArgs { ifNoneMatch?: string; ifModifiedSince?: Date; } interface CommonGetListArgs extends CommonGetArgs { maxItems?: number; continuation?: string; } export type GetDatabasesArgs = CommonGetListArgs; export interface GetDatabaseArgs extends CommonGetArgs { dbId?: string; } export interface GetCollectionsArgs extends CommonGetListArgs { dbId?: string; } export interface GetCollectionArgs extends CommonGetArgs { dbId?: string; collId?: string; } export interface CreateCollectionArgs extends CommonArgs { dbId?: string; collId?: string; indexingPolicy?: IndexingPolicy; partitionKey: PartitionKeyDefinition; offerThroughput?: number; offerType?: OfferType; } export interface ReplaceCollectionArgs extends CommonArgs { dbId?: string; collId?: string; indexingPolicy: IndexingPolicy; partitionKey: PartitionKeyDefinition; ifMatch?: string; } export interface DeleteCollectionArgs extends CommonArgs { dbId?: string; collId?: string; ifMatch?: string; } export interface GetDocumentsArgs extends CommonGetListArgs { dbId?: string; collId?: string; partitionKey?: string; } export interface GetDocumentArgs extends CommonGetArgs { dbId?: string; collId?: string; docId: string; partitionKey: string; } export interface QueryDocumentsArgs extends CommonGetListArgs { dbId?: string; collId?: string; query: string; parameters?: QueryParameter[]; partitionKey?: string; enableCrossPartition?: boolean; populateMetrics?: boolean; enableScan?: boolean; } export interface QueryParameter { name: string; value: string | number | boolean | null | undefined; } export interface CreateDocumentArgs extends CommonArgs { dbId?: string; collId?: string; document: DocumentInit; partitionKey: string; isUpsert?: boolean; indexingDirective?: IndexingDirective; } export interface ReplaceDocumentArgs extends CommonArgs { dbId?: string; collId?: string; docId: string; document: DocumentInit; partitionKey: string; ifMatch?: string; indexingDirective?: IndexingDirective; } export interface DeleteDocumentArgs extends CommonArgs { dbId?: string; collId?: string; docId: string; partitionKey: string; ifMatch?: string; } export {};