import { IngestionPropertiesInput } from "./ingestionProperties.js";
import { KustoConnectionStringBuilder, KustoResponseDataSet } from "azure-kusto-data";
import { Readable } from "stream";
import { AbstractKustoClient } from "./abstractKustoClient.js";
import { AbstractDescriptor, BlobDescriptor, StreamDescriptor } from "./descriptors.js";
import { FileDescriptor } from "./fileDescriptor.js";
import { IngestionResult } from "./ingestionResult.js";
declare class KustoManagedStreamingIngestClient extends AbstractKustoClient {
    private streamingIngestClient;
    private queuedIngestClient;
    private baseSleepTimeSecs;
    private baseJitterSecs;
    /**
     * Creates a KustoManagedStreamingIngestClient from a DM connection string.
     * This method infers the engine connection string.
     * For advanced usage, use the constructor that takes a DM connection string and an engine connection string.
     *
     * @param dmConnectionString The DM connection string.
     * @param defaultProps The default ingestion properties.
     */
    static fromDmConnectionString(dmConnectionString: KustoConnectionStringBuilder, defaultProps?: IngestionPropertiesInput): KustoManagedStreamingIngestClient;
    /**
     * Creates a KustoManagedStreamingIngestClient from a engine connection string.
     * This method infers the engine connection string.
     * For advanced usage, use the constructor that takes an engine connection string and an engine connection string.
     *
     * @param engineConnectionString The engine connection string.
     * @param defaultProps The default ingestion properties.
     */
    static fromEngineConnectionString(engineConnectionString: KustoConnectionStringBuilder, defaultProps?: IngestionPropertiesInput): KustoManagedStreamingIngestClient;
    constructor(engineKcsb: string | KustoConnectionStringBuilder, dmKcsb: string | KustoConnectionStringBuilder, defaultProps?: IngestionPropertiesInput, autoCorrectEndpoint?: boolean);
    /**
     * Use Readable for Node.js and ArrayBuffer in browser
     */
    ingestFromStream(stream: StreamDescriptor | Readable | ArrayBuffer, ingestionProperties?: IngestionPropertiesInput, clientRequestId?: string): Promise<KustoResponseDataSet | IngestionResult>;
    /**
     * Use string for Node.js and Blob in browser
     */
    ingestFromFile(file: FileDescriptor | string | Blob, ingestionProperties?: IngestionPropertiesInput): Promise<KustoResponseDataSet | IngestionResult>;
    ingestFromBlob(blob: string | BlobDescriptor, ingestionProperties?: IngestionPropertiesInput, clientRequestId?: string): Promise<KustoResponseDataSet | IngestionResult>;
    streamWithRetries(length: number, descriptor: AbstractDescriptor, props?: IngestionPropertiesInput, clientRequestId?: string, stream?: Readable | ArrayBuffer): Promise<any>;
    close(): void;
}
export default KustoManagedStreamingIngestClient;
//# sourceMappingURL=managedStreamingIngestClient.d.ts.map