import { ethers } from 'ethers';
import { Address } from '@hyperlane-xyz/utils';
/**
 * Retrieves a signer for the current command-context.
 * @returns the signer
 */
export declare function getSigner({ key, skipConfirmation, }: {
    key?: string;
    skipConfirmation?: boolean;
}): Promise<{
    key: string;
    signer: ethers.Wallet;
}>;
/**
 * Retrieves an impersonated signer for the current command-context.
 * @returns the impersonated signer
 */
export declare function getImpersonatedSigner({ fromAddress, key, skipConfirmation, }: {
    fromAddress?: Address;
    key?: string;
    skipConfirmation?: boolean;
}): Promise<{
    impersonatedKey: string;
    impersonatedSigner: ethers.providers.JsonRpcSigner;
}>;
/**
 * Verifies the specified signer is valid.
 * @param signer the signer to verify
 */
export declare function assertSigner(signer: ethers.Signer): void;
//# sourceMappingURL=keys.d.ts.map