import { Address } from '@xchainjs/xchain-util';
import { IKeystoreSigner } from '../types';
import { Client, EVMClientParams } from './client';
/**
 * EVM Keystore client params
 */
export type EVMKeystoreClientParams = EVMClientParams & {
    signer: IKeystoreSigner;
};
/**
 * Keystore client
 */
export declare class ClientKeystore extends Client {
    protected signer?: IKeystoreSigner;
    constructor(params: EVMClientParams & {
        signer?: IKeystoreSigner;
    });
    /**
     * Validates the given Ethereum address.
     * @param {Address} address - The address to validate.
     * @returns {boolean} `true` if the address is valid, `false` otherwise.
     */
    setPhrase(phrase: string, walletIndex?: number): Address;
    /**
     * @deprecated Use getAddressAsync instead. This function will eventually be removed.
     */
    getAddress(walletIndex?: number): string;
    /**
     * Get the account signer the client is using
     * @returns {ISigner}
     * @throws {Error} if the client is not using an account
     */
    protected getSigner(): IKeystoreSigner;
}
