import { JsonRpcProvider } from "@ethersproject/providers";
import { CChainId } from "./internal/constants";
import { Web3ContextParams } from "./internal/interfaces/context";
/**
 * The Context class is an utility component that holds the configuration passed to Clique instance.
 */
export declare class Context {
    protected state: Web3ContextParams;
    /**
     * @param {Object} params
     *
     * @constructor
     */
    constructor(contextParams: Web3ContextParams);
    /**
     * set web3Providers and signer
     * @param contextParams
     */
    set(contextParams: Partial<Web3ContextParams>): void;
    /**
     * Getter for the Signer
     *
     * @var signer
     *
     * @returns {Signer}
     *
     * @public
     */
    get signer(): import("@ethersproject/abstract-signer").Signer | undefined;
    /**
     * Getter for the web3 providers
     *
     * @var web3Providers
     *
     * @returns {JsonRpcProvider[]}
     *
     * @public
     */
    get web3Providers(): {
        [key in CChainId]: JsonRpcProvider[];
    };
    /**
     * dao address
     */
    get daoDaoAddress(): string;
    /**
     * dao chainId
     */
    get daoDaoChainId(): CChainId;
    private static resolveWeb3Providers;
}
