/// /// import { ContractJSON, UInt160 } from '@neo-one/client-common-browserify'; import { ContractModel } from '@neo-one/client-full-common-browserify'; import { ContractParameterType } from './contractParameter'; import { ContractPropertyState } from './ContractPropertyState'; import { Equals, EquatableKey } from './Equatable'; import { DeserializeWireBaseOptions, DeserializeWireOptions, SerializableJSON, SerializeJSONContext } from './Serializable'; export interface ContractKey { readonly hash: UInt160; } export interface ContractAdd { readonly hash?: UInt160; readonly version?: number; readonly script: Buffer; readonly parameterList: readonly ContractParameterType[]; readonly returnType: ContractParameterType; readonly contractProperties: ContractPropertyState; readonly name: string; readonly codeVersion: string; readonly author: string; readonly email: string; readonly description: string; } export declare class Contract extends ContractModel implements SerializableJSON, EquatableKey { static deserializeWireBase(options: DeserializeWireBaseOptions): Contract; static deserializeWire(options: DeserializeWireOptions): Contract; readonly equals: Equals; readonly toKeyString: () => string; private readonly contractSizeInternal; readonly size: number; serializeJSON(_context: SerializeJSONContext): ContractJSON; } export declare const sizeOfContract: ({ script, parameterList, name, codeVersion, author, email, description, publishVersion, }: { readonly script: Buffer; readonly parameterList: readonly ContractParameterType[]; readonly name: string; readonly codeVersion: string; readonly author: string; readonly email: string; readonly description: string; readonly publishVersion?: number | undefined; }) => number; export declare const deserializeContractWireBase: ({ reader, publishVersion, }: { readonly publishVersion?: number | undefined; } & DeserializeWireBaseOptions) => Contract;