import { Signer } from '../keypair.js';
import { VersionedMessage } from '../message/versioned.js';
import { PublicKey } from '../publickey.js';
export declare type TransactionVersion = 'legacy' | 0;
/**
 * Versioned transaction class
 */
export declare class VersionedTransaction {
    signatures: Array<Uint8Array>;
    message: VersionedMessage;
    get version(): TransactionVersion;
    constructor(message: VersionedMessage, signatures?: Array<Uint8Array>);
    serialize(): Uint8Array;
    static deserialize(serializedTransaction: Uint8Array): VersionedTransaction;
    sign(signers: Array<Signer>): void;
    addSignature(publicKey: PublicKey, signature: Uint8Array): void;
}
