import { Provider } from "@ethersproject/providers";
import { Contract, Signer } from "ethers";
import { BlockchainOptions } from "../core/utils/blockchain-options";
export declare class Gateway {
    address?: string;
    provider?: Provider | Signer;
    gatewayInstance?: Contract;
    static at(addressOrENS: string, options?: BlockchainOptions): Promise<Gateway>;
    constructor(address: string, provider?: Provider | Signer);
    instantiateGateway(providerOrSigner?: Provider | Signer): Promise<Contract>;
    approveSigner(signer: string, options?: BlockchainOptions): Promise<void>;
    revokeSigner(signer: string, options?: BlockchainOptions): Promise<void>;
    revokeSignature(signature: string, options?: BlockchainOptions): Promise<void>;
    approveSignature(signature: string, options?: BlockchainOptions): Promise<void>;
    isSignatureRevoked(signature: string, options?: BlockchainOptions): Promise<boolean>;
    isApprovedSigner(signer: string, options?: BlockchainOptions): Promise<boolean>;
}
