import { HttpRequestParameters } from "../../../Primitives/Http.js";
import { Stream } from "node:stream";
import { ConnectionStringType, SqlConnectionString, RavenConnectionString, OlapConnectionString, ElasticSearchConnectionString, QueueConnectionString } from "../Etl/ConnectionString.js";
import { AiConnectionString } from "../AI/ConnectionStrings/AiConnectionString.js";
import { DocumentConventions } from "../../Conventions/DocumentConventions.js";
import { OperationResultType, IMaintenanceOperation } from "../OperationAbstractions.js";
import { RavenCommand } from "../../../Http/RavenCommand.js";
import { ServerNode } from "../../../Http/ServerNode.js";
export interface GetConnectionStringsResult {
    ravenConnectionStrings: Record<string, RavenConnectionString>;
    sqlConnectionStrings: Record<string, SqlConnectionString>;
    olapConnectionStrings: Record<string, OlapConnectionString>;
    elasticSearchConnectionStrings: Record<string, ElasticSearchConnectionString>;
    queueConnectionStrings: Record<string, QueueConnectionString>;
    aiConnectionStrings: Record<string, AiConnectionString>;
}
export declare class GetConnectionStringsOperation implements IMaintenanceOperation<GetConnectionStringsResult> {
    private readonly _connectionStringName;
    private readonly _type;
    constructor();
    constructor(connectionStringName: string, type: ConnectionStringType);
    getCommand(conventions: DocumentConventions): RavenCommand<GetConnectionStringsResult>;
    get resultType(): OperationResultType;
}
export declare class GetConnectionStringCommand extends RavenCommand<GetConnectionStringsResult> {
    private readonly _connectionStringName;
    private readonly _type;
    constructor(connectionStringName: string, type: ConnectionStringType);
    get isReadRequest(): boolean;
    createRequest(node: ServerNode): HttpRequestParameters;
    setResponseAsync(bodyStream: Stream, fromCache: boolean): Promise<string>;
}
//# sourceMappingURL=GetConnectionStringsOperation.d.ts.map