///
///
import { BinaryWriter, ECPoint, RegisterTransactionJSON, TransactionBaseModel, UInt160, UInt160Hex } from '@neo-one/client-common';
import { Constructor } from '@neo-one/utils';
import BN from 'bn.js';
import { AssetType } from '../AssetType';
import { DeserializeWireBaseOptions, SerializeJSONContext } from '../Serializable';
import { VerifyScriptResult } from '../vm';
import { Witness } from '../Witness';
import { Attribute } from './attribute';
import { Input } from './Input';
import { Output } from './Output';
import { FeeContext, TransactionBaseAdd, TransactionGetScriptHashesForVerifyingOptions, TransactionVerifyOptions } from './TransactionBase';
import { TransactionType } from './TransactionType';
interface Asset {
readonly type: AssetType;
readonly name: string;
readonly amount: BN;
readonly precision: number;
readonly owner: ECPoint;
readonly admin: UInt160;
}
export interface RegisterTransactionAdd extends TransactionBaseAdd {
readonly asset: Asset;
}
declare const RegisterTransaction_base: {
new (...args: any[]): {
readonly equals: import("..").Equals;
readonly toKeyString: () => string;
readonly getSortedScriptHashesForVerifying: (input: TransactionGetScriptHashesForVerifyingOptions) => Promise;
readonly sizeInternal: () => number;
readonly networkFee: (input: FeeContext) => Promise;
readonly getReferencesInternal: (input: import("./TransactionBase").GetReferencesOptions) => Promise