import { SignerWithProvider } from './Identity';
import { HexString } from '@streamr/utils';
import { RpcProviderSource } from '../RpcProviderSource';
import { SignatureType } from '@streamr/trackerless-network';
import { KeyPairIdentity } from './KeyPairIdentity';
/**
 * An Identity that derives an Ethereum address from a secp256k1 private key
 * and uses that as the UserID instead of the actual public key.
 */
export declare class EthereumKeyPairIdentity extends KeyPairIdentity {
    assertValidKeyPair(): void;
    getSignatureType(): SignatureType;
    createMessageSignature(payload: Uint8Array): Promise<Uint8Array>;
    getTransactionSigner(rpcProviderSource: RpcProviderSource): Promise<SignerWithProvider>;
    static fromPrivateKey(privateKey: HexString, address?: HexString): EthereumKeyPairIdentity;
    static generate(): EthereumKeyPairIdentity;
}
