import { ConnectionManager } from './managers/connection';
import { VerificationManager } from './managers/verification';
import { VerificationKeyRegistrationManager } from './managers/register';
import { EventManager } from './managers/events';
import { ExtrinsicManager } from './managers/extrinsic';
import { DomainManager } from './managers/domain';
import { SupportedNetworkMap } from './builders/network';
import { FormatManager } from './managers/format';
import { RpcManager } from './managers/rpc';
import { ApiPromise, WsProvider } from '@polkadot/api';
import { AccountConnection, WalletConnection, EstablishedConnection } from '../api/connection/types';
export declare class zkVerifySession {
    private readonly connectionManager;
    verify: VerificationManager['verify'];
    optimisticVerify: VerificationManager['optimisticVerify'];
    registerVerificationKey: VerificationKeyRegistrationManager['registerVerificationKey'];
    format: FormatManager['format'];
    subscribe: EventManager['subscribe'];
    unsubscribe: EventManager['unsubscribe'];
    waitForAggregationReceipt: EventManager['waitForAggregationReceipt'];
    estimateCost: ExtrinsicManager['estimateCost'];
    createSubmitProofExtrinsic: ExtrinsicManager['createSubmitProofExtrinsic'];
    createExtrinsicHex: ExtrinsicManager['createExtrinsicHex'];
    createExtrinsicFromHex: ExtrinsicManager['createExtrinsicFromHex'];
    close: ConnectionManager['close'];
    addAccount: ConnectionManager['addAccount'];
    addAccounts: ConnectionManager['addAccounts'];
    removeAccount: ConnectionManager['removeAccount'];
    getAccount: ConnectionManager['getAccount'];
    getAccountInfo: ConnectionManager['getAccountInfo'];
    registerDomain: DomainManager['registerDomain'];
    unregisterDomain: DomainManager['unregisterDomain'];
    holdDomain: DomainManager['holdDomain'];
    aggregate: DomainManager['aggregate'];
    getAggregateStatementPath: RpcManager['getAggregateStatementPath'];
    getVkHash: RpcManager['getVkHash'];
    constructor(connectionManager: ConnectionManager);
    /**
     * Starts a session for the specified network.
     * @returns {SupportedNetworkMap} A map of supported networks.
     */
    static start(): SupportedNetworkMap;
    /**
     * Getter for the Polkadot.js API instance.
     * @returns {ApiPromise} The API instance.
     */
    get api(): ApiPromise;
    /**
     * Getter for the WebSocket provider.
     * @returns {WsProvider} The WebSocket provider.
     */
    get provider(): WsProvider;
    /**
     * Getter for connection details.
     * @returns {AccountConnection | WalletConnection | EstablishedConnection} The connection details.
     */
    get connection(): AccountConnection | WalletConnection | EstablishedConnection;
    /**
     * Checks if the session is in read-only mode.
     * @returns {boolean} True if read-only, otherwise false.
     */
    get readOnly(): boolean;
    /**
     * Initializes a new zkVerifySession instance.
     * @param {zkVerifySessionOptions} options - The session configuration options.
     * @returns {Promise<zkVerifySession>} A promise resolving to the zkVerifySession instance.
     */
    private static _startSession;
}
//# sourceMappingURL=index.d.ts.map