import { SignerWithProvider } from './Identity';
import { RpcProviderSource } from '../RpcProviderSource';
import { SignatureType } from '@streamr/trackerless-network';
import { StrictStreamrClientConfig } from '../Config';
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 {
    constructor(privateKey: string, address?: string);
    assertKeyPairIsValid(): void;
    getSignatureType(): SignatureType;
    getExpectedPublicKeyLength(): number;
    getExpectedPrivateKeyLength(): number;
    createMessageSignature(payload: Uint8Array): Promise<Uint8Array>;
    getTransactionSigner(rpcProviderSource: RpcProviderSource): Promise<SignerWithProvider>;
    static fromConfig(config: Pick<StrictStreamrClientConfig, 'auth'>): EthereumKeyPairIdentity;
    static generate(): EthereumKeyPairIdentity;
}
