import { IServerOperation, OperationResultType } from "../../Documents/Operations/OperationAbstractions.js";
import { DatabaseTopology } from "../Operations/index.js";
import { DocumentConventions } from "../../Documents/Conventions/DocumentConventions.js";
import { RavenCommand } from "../../Http/RavenCommand.js";
interface AddDatabaseShardParameters {
    databaseName: string;
    shardNumber?: number;
    dynamicNodeDistribution?: boolean;
    replicationFactor?: number;
    nodes?: string[];
}
export declare class AddDatabaseShardOperation implements IServerOperation<AddDatabaseShardResult> {
    private readonly _databaseName;
    private readonly _shardNumber;
    private readonly _nodes;
    private readonly _replicationFactor;
    private readonly _dynamicNodeDistribution;
    constructor(parameters: AddDatabaseShardParameters);
    get resultType(): OperationResultType;
    getCommand(conventions: DocumentConventions): RavenCommand<AddDatabaseShardResult>;
}
export interface AddDatabaseShardResult {
    name: string;
    shardNumber: number;
    shardTopology: DatabaseTopology;
    raftCommandIndex: number;
}
export {};
//# sourceMappingURL=AddDatabaseShardOperation.d.ts.map