///
import { Transaction as NativeTransaction, UnsignedTransaction } from '@ironfish/rust-nodejs';
import { Witness } from '../merkletree';
import { BurnDescription } from './burnDescription';
import { Note } from './note';
import { NoteEncrypted, NoteEncryptedHash, SerializedNoteEncryptedHash } from './noteEncrypted';
import { Transaction, TransactionVersion } from './transaction';
export interface MintData {
creator: string;
name: string;
metadata: string;
value: bigint;
transferOwnershipTo?: string;
}
export declare class RawTransaction {
version: TransactionVersion;
expiration: number | null;
fee: bigint;
mints: MintData[];
burns: BurnDescription[];
outputs: {
note: Note;
}[];
spends: {
note: Note;
witness: Witness;
}[];
constructor(version: TransactionVersion);
postedSize(): number;
_build(): NativeTransaction;
build(proofAuthorizingKey: string, viewKey: string, outgoingViewKey: string): UnsignedTransaction;
post(spendingKey: string): Transaction;
sender(): string | undefined;
}
export declare class RawTransactionSerde {
static serialize(raw: RawTransaction): Buffer;
static deserialize(buffer: Buffer): RawTransaction;
static getSize(raw: RawTransaction): number;
}
//# sourceMappingURL=rawTransaction.d.ts.map