import { AsymmetricEncryptionType, EncryptionType, SignatureType } from '@streamr/trackerless-network';
import { StreamrClientConfig, StrictStreamrClientConfig } from '../Config';
import { Identity } from '../identity/Identity';
import { KeyExchangeKeyPair } from '../encryption/KeyExchangeKeyPair';
export declare function assertCompliantIdentity(identity: Identity, config: Pick<StreamrClientConfig, 'encryption'>): void;
export declare function isCompliantAsymmetricEncryptionType(encryptionType: AsymmetricEncryptionType, config: Pick<StreamrClientConfig, 'encryption'>): boolean;
export declare function isCompliantEncryptionType(encryptionType: EncryptionType, config: Pick<StreamrClientConfig, 'encryption'>): boolean;
export declare function isCompliantSignatureType(signatureType: SignatureType, config: Pick<StreamrClientConfig, 'encryption'>): boolean;
/**
 * Creates a suitable key pair for key exchange based in configured Identity and config.
 * Uses ML-KEM if required by config, OR if the identity keys imply quantum secure signatures.
 */
export declare function createCompliantExchangeKeys(identity: Identity, config: Pick<StrictStreamrClientConfig, 'encryption'>): Promise<KeyExchangeKeyPair>;
