import { UserID, UserIDRaw } from '@streamr/utils';
import { RpcProviderSource } from '../RpcProviderSource';
import { Identity, SignerWithProvider } from './Identity';
/**
 * KeyPairIdentity is an Identity that is defined by a public key and a private key.
 * It uses the public key as the UserID.
 */
export declare abstract class KeyPairIdentity extends Identity {
    protected readonly publicKeyString: UserID;
    protected readonly publicKey: UserIDRaw;
    protected readonly privateKey: Uint8Array;
    constructor(publicKey: Uint8Array, privateKey: Uint8Array);
    abstract assertValidKeyPair(): void;
    getUserIdRaw(): Promise<UserIDRaw>;
    getUserId(): Promise<UserID>;
    getPrivateKey(): Promise<Uint8Array>;
    getTransactionSigner(_rpcProviderSource: RpcProviderSource): Promise<SignerWithProvider>;
}
