///
///
import SigncryptedMessageHeader from './header.js';
import SigncryptedMessageRecipient, { SymmetricKeyRecipient } from './recipient.js';
import { Transform, TransformCallback } from 'stream';
import tweetnacl from 'tweetnacl';
export declare function debugSetKey(key: Buffer): void;
export declare function debugSetKeypair(keypair: tweetnacl.BoxKeyPair): void;
export declare function signcrypt(data: Uint8Array | string, keypair: tweetnacl.SignKeyPair | null, recipients_keys: (Uint8Array | SymmetricKeyRecipient)[]): Promise;
export declare class SigncryptStream extends Transform {
readonly payload_key: Buffer;
readonly ephemeral_keypair: tweetnacl.BoxKeyPair;
readonly keypair: tweetnacl.SignKeyPair | null;
readonly header: SigncryptedMessageHeader;
private in_buffer;
private payload_index;
private i;
constructor(keypair: tweetnacl.SignKeyPair | null, recipients_keys: (Uint8Array | SymmetricKeyRecipient)[]);
_transform(data: Buffer, encoding: string, callback: TransformCallback): void;
_flush(callback: TransformCallback): void;
}
export interface DesigncryptResult extends Buffer {
sender_public_key: Uint8Array | null;
}
export declare function designcrypt(signcrypted: Uint8Array, recipient_keys: tweetnacl.BoxKeyPair | SymmetricKeyRecipient, sender?: Uint8Array | null): Promise;
export declare class DesigncryptStream extends Transform {
readonly recipient_keys: tweetnacl.BoxKeyPair | SymmetricKeyRecipient;
readonly sender: Uint8Array | null;
private decoder;
private header_data;
private last_payload;
private payload_index;
private i;
constructor(recipient_keys: tweetnacl.BoxKeyPair | SymmetricKeyRecipient, sender?: Uint8Array | null);
get header(): SigncryptedMessageHeader;
get payload_key(): Uint8Array;
get recipient(): SigncryptedMessageRecipient;
get sender_public_key(): Uint8Array | null;
_transform(data: Buffer, encoding: string, callback: TransformCallback): void;
private _handleMessage;
_flush(callback: TransformCallback): void;
}