import { Callback } from '../util/Callback';
import { LedgerClient, LedgerClientOptions } from "./LedgerClient";
import { ActiveContractsClient } from "./ActiveContractsClient";
import { CommandClient } from "./CommandClient";
import { CommandCompletionClient } from "./CommandCompletionClient";
import { TransactionClient } from "./TransactionClient";
import { TimeClient } from "./TimeClient";
import { LedgerConfigurationClient } from "./LedgerConfigurationClient";
import { CommandSubmissionClient } from "./CommandSubmissionClient";
import { LedgerIdentityClient } from "./LedgerIdentityClient";
import { PackageClient } from "./PackageClient";
import { ResetClient } from "./ResetClient";
import { PartyManagementClient } from './PartyManagementClient';
import { PackageManagementClient } from './PackageManagementClient';
/**
 * A {@link LedgerClient} implementation that connects to an existing Ledger and provides clients to query it. To use the {@link DamlLedgerClient}
 * call the static `connect` method, passing an instance of {@link LedgerClientOptions} with the host, port and (for secure connection) the
 * necessary certificates.
 */
export declare class DamlLedgerClient implements LedgerClient {
    readonly ledgerId: string;
    private readonly _activeContractsClient;
    private readonly _commandClient;
    private readonly _commandCompletionClient;
    private readonly _commandSubmissionClient;
    private readonly _ledgerIdentityClient;
    private readonly _packageClient;
    private readonly _ledgerConfigurationClient;
    private readonly _timeClient;
    private readonly _transactionClient;
    private readonly _resetClient;
    private readonly _partyManagementClient;
    private readonly _packageManagementClient;
    private static readonly LedgerIdentityServiceClient;
    private static readonly ActiveContractsServiceClient;
    private static readonly CommandServiceClient;
    private static readonly CommandCompletionServiceClient;
    private static readonly CommandSubmissionServiceClient;
    private static readonly PackageServiceClient;
    private static readonly LedgerConfigurationServiceClient;
    private static readonly TimeServiceClient;
    private static readonly TransactionServiceClient;
    private static readonly ResetServiceClient;
    private static readonly PartyManagementServiceClient;
    private static readonly PackageManagementServiceClient;
    private constructor();
    get activeContractsClient(): ActiveContractsClient;
    get commandClient(): CommandClient;
    get commandCompletionClient(): CommandCompletionClient;
    get commandSubmissionClient(): CommandSubmissionClient;
    get ledgerIdentityClient(): LedgerIdentityClient;
    get packageClient(): PackageClient;
    get ledgerConfigurationClient(): LedgerConfigurationClient;
    get timeClient(): TimeClient;
    get transactionClient(): TransactionClient;
    get resetClient(): ResetClient;
    get partyManagementClient(): PartyManagementClient;
    get packageManagementClient(): PackageManagementClient;
    private static connectCallback;
    private static connectPromise;
    /**
     * Connects a new instance of the {@link DamlLedgerClient} to the
     *
     * @param options The host, port and certificates needed to reach the ledger
     * @param callback A callback that will be either passed an error or the LedgerClient instance in case of successful connection
     */
    static connect(options: LedgerClientOptions): Promise<LedgerClient>;
    static connect(options: LedgerClientOptions, callback: Callback<LedgerClient>): void;
}
