import { IComponentContext, IDisposable, IRequireInitialization } from "@walmartlabs/cookie-cutter-core"; import { SpanContext } from "opentracing"; import { ICosmosConfiguration, ICosmosQuery, ICosmosQueryClient } from ".."; export interface ICosmosWriteClient { upsert(document: any, partitionKey: string, currentSn: number, collectionId?: string): Promise; bulkInsert(documents: any[], partitionKey: string, validateSn: boolean, collectionId?: string): Promise; } export declare const RETRY_AFTER_MS: string; export declare const BULK_INSERT_SPROC_ID = "bulkInsertSproc"; export declare const UPSERT_SPROC_ID = "upsertSproc"; export declare class CosmosClient implements ICosmosQueryClient, ICosmosWriteClient, IRequireInitialization, IDisposable { private readonly config; private metrics; private tracer; private readonly client; private readonly agent; private spanOperationName; private spInitialized; constructor(config: ICosmosConfiguration); initialize(context: IComponentContext): Promise; dispose(): Promise; private container; private initializeStoredProcedure; private generateMetricTags; private spanLogAndSetTags; private getRequestCharge; private executeSproc; upsert(document: any, key: string, currentSn: number): Promise; bulkInsert(documents: any[], key: string, validateSn: boolean): Promise; query(spanContext: SpanContext, query: ICosmosQuery, collectionId?: string): Promise; }