import { Logger } from "@decaf-ts/logging";
import { PeerLifecycleChaincodeCommands } from "../constants/fabric-peer";
export declare class FabricPeerLifecycleChaincodeCommandBuilder {
    private log;
    private binName;
    private baseCommand;
    private command;
    private destination?;
    private peerDetails;
    private args;
    constructor(logger?: Logger);
    setCommand(command?: PeerLifecycleChaincodeCommands): this;
    setDestination(destination?: string): this;
    setContractPath(contractPath?: string): this;
    setLang(lang?: string): this;
    setLabel(label?: string): this;
    setOrdererAddress(ordererAddress?: string): this;
    setChannelID(channelID?: string): this;
    setContractName(contractName?: string): this;
    setVersion(version?: string): this;
    setPackageID(packageID?: string): this;
    setSequence(sequence?: string): this;
    enableTLS(enable?: boolean): this;
    setTLSCAFile(caFile?: string): this;
    setOrdererTLSHostnameOverride(ordererTLSHostnameOverride?: string): this;
    setCollectionsConfigPath(collectionsConfigPath?: string): this;
    setPeerAddresses(peerAddresses?: string[]): this;
    setPeerTLSRoots(peerTLSRoots?: string[]): this;
    setOutput(output?: string): this;
    build(): string;
    getBaseCommand(): string;
    getCommand(): string;
    getBinary(): string;
    getArgs(): string[];
    private generatePeerDetails;
    execute(options?: {
        [indexer: string]: string;
    }): Promise<void>;
}
