/** Abstract interface for an [ethers.js signer](https://docs.ethers.org/v6/api/providers/#Signer). */
export interface AbstractEthersSigner {
    signTypedData(domain: {
        name: string;
        version: string;
        chainId: number;
        verifyingContract: string;
    }, types: {
        [key: string]: {
            name: string;
            type: string;
        }[];
    }, value: Record<string, unknown>): Promise<string>;
}
/** Abstract interface for an [ethers.js v5 signer](https://docs.ethers.org/v5/api/signer/). */
export interface AbstractEthersV5Signer {
    _signTypedData(domain: {
        name: string;
        version: string;
        chainId: number;
        verifyingContract: string;
    }, types: {
        [key: string]: {
            name: string;
            type: string;
        }[];
    }, value: Record<string, unknown>): Promise<string>;
}
/** Checks if the given value is an abstract ethers signer. */
export declare function isAbstractEthersSigner(client: unknown): client is AbstractEthersSigner;
/** Checks if the given value is an abstract ethers v5 signer. */
export declare function isAbstractEthersV5Signer(client: unknown): client is AbstractEthersV5Signer;
//# sourceMappingURL=_ethers.d.ts.map