/// import BN from 'bn.js'; import { BinaryWriter } from '../../BinaryWriter'; import { Asset, Input, Output } from '../../types'; import { WitnessModel } from '../WitnessModel'; import { AttributeModel } from './attribute'; import { InputModel } from './InputModel'; import { OutputModel } from './OutputModel'; import { TransactionBaseModel, TransactionBaseModelAdd } from './TransactionBaseModel'; import { TransactionTypeModel } from './TransactionTypeModel'; export interface TransactionGetScriptHashesForVerifyingOptions { readonly getOutput: (input: Input) => Promise; readonly getAsset: (hash: string) => Promise; } export interface InvocationTransactionModelAdd extends TransactionBaseModelAdd { readonly gas: BN; readonly script: Buffer; } export declare class InvocationTransactionModel extends TransactionBaseModel { static readonly VERSION = 1; readonly gas: BN; readonly script: Buffer; constructor({ version, attributes, inputs, outputs, scripts, hash, gas, script, }: InvocationTransactionModelAdd); clone({ scripts, attributes, inputs, outputs, }: { readonly scripts?: readonly WitnessModel[]; readonly attributes?: readonly AttributeModel[]; readonly inputs?: readonly InputModel[]; readonly outputs?: readonly OutputModel[]; }): this; serializeExclusiveBase(writer: BinaryWriter): void; getScriptHashesForVerifying({ getOutput, getAsset, }: TransactionGetScriptHashesForVerifyingOptions): Promise; }