import { Multikey } from './Multikey';
export declare class X25519KeyAgreementKey2020 {
    multikey: Multikey;
    constructor(id: string, controller: string, publicKeyMultibase: string, privateKeyMultibase?: string);
    get id(): string;
    get type(): string;
    get controller(): string;
    get publicKeyMultibase(): string;
    get privateKeyMultibase(): string | undefined;
    get publicKey(): Uint8Array;
    get privateKey(): Uint8Array | undefined;
    static generate(): Promise<X25519KeyAgreementKey2020>;
    static from(options: {
        id?: string;
        controller?: string;
        publicKeyBase58?: string;
        privateKeyBase58?: string;
        publicKeyMultibase?: string;
        privateKeyMultibase?: string;
    }): X25519KeyAgreementKey2020;
    deriveSecret(publicKey: X25519KeyAgreementKey2020): Promise<Uint8Array>;
    export(options?: {
        privateKey?: boolean;
        type: 'JsonWebKey2020';
    }): Promise<any>;
}
//# sourceMappingURL=X25519KeyAgreementKey2020.d.ts.map