import { RegisterKeyMethodMap } from '../../types';
import { ConnectionManager } from '../connection';
export declare class VerificationKeyRegistrationManager {
    private readonly connectionManager;
    constructor(connectionManager: ConnectionManager);
    /**
     * Creates a builder map for different proof types that can be used for registering verification keys.
     * Each proof type returns a `RegisterKeyBuilder` that allows you to chain methods for setting options
     * and finally executing the registration process.
     *
     * @returns {RegisterKeyMethodMap} A map of proof types to their corresponding builder methods.
     */
    registerVerificationKey(accountAddress?: string): RegisterKeyMethodMap;
    /**
     * Factory method to create a `RegisterKeyBuilder` for the given proof type.
     * The builder allows for chaining options and finally executing the key registration process.
     *
     * @returns {RegisterKeyBuilder} A new instance of `RegisterKeyBuilder`.
     * @private
     */
    private createRegisterKeyBuilder;
    /**
     * Executes the verification key registration process with the provided options and verification key.
     * This method is intended to be called by the `RegisterKeyBuilder`.
     *
     * @param {VerifyOptions} options - The options for the key registration process, including proof type and other optional settings.
     * @param {unknown} verificationKey - The verification key to be registered.
     * @returns {Promise<{events: EventEmitter, transactionResult: Promise<VKRegistrationTransactionInfo>}>}
     * A promise that resolves with an object containing an `EventEmitter` for real-time events and the final transaction result.
     * @private
     */
    private executeRegisterVerificationKey;
}
//# sourceMappingURL=index.d.ts.map