import { KeyType } from '@streamr/utils';
import { SignatureType } from '@streamr/trackerless-network';
import { StrictStreamrClientConfig } from '../Config';
import { Identity } from './Identity';
/**
 * This is where config keyTypes are connected to Identity implementations.
 *
 * How to configure new Identity types:
 * 1. Add a new SignatureType entry to NetworkRpc.proto in network package
 * 2. Add the needed SigningUtil to SigningUtil.ts and tests to SigningUtil.test.ts
 * 3. Add the new SigningUtil to exports.ts in the utils package
 * 3. Create the Identity implementation itself (eg. extend KeyPairIdentity) and tests for it
 * 4. Wire everything together below
 */
export declare const IDENTITY_MAPPING: {
    keyType: KeyType;
    fromConfig: (config: Pick<StrictStreamrClientConfig, 'auth'>) => Identity;
    signatureType: SignatureType;
}[];
export declare const DEFAULT_KEY_TYPE: KeyType;
/**
 * Creates an Identity instance based on what's in the StreamrClient config
 */
export declare function createIdentityFromConfig(config: Pick<StrictStreamrClientConfig, 'auth' | 'contracts'>): Identity;
