import { ForwardValue, Param, ParamToCallbacks, ScriptBuilderParam, ScriptBuilderParamToCallbacks } from './types'; export declare const scriptBuilderParamTo: (param: ScriptBuilderParam, callbacks: ScriptBuilderParamToCallbacks) => T; export declare const isForwardValue: (value: any) => value is ForwardValue; export declare const paramTo: (param: Param, callbacks: ParamToCallbacks) => T; export interface SerializedScriptBuilderParamArray extends Array { } export interface SerializedScriptBuilderParamObject extends Record { } export declare type SerializedScriptBuilderParam = { readonly type: 'undefined'; } | { readonly type: 'BN'; readonly value: string; } | { readonly type: 'number'; readonly value: number; } | { readonly type: 'UInt160'; readonly value: string; } | { readonly type: 'UInt256'; readonly value: string; } | { readonly type: 'ECPoint'; readonly value: string; } | { readonly type: 'string'; readonly value: string; } | { readonly type: 'Buffer'; readonly value: string; } | { readonly type: 'boolean'; readonly value: boolean; } | { readonly type: 'Array'; readonly value: SerializedScriptBuilderParamArray; } | { readonly type: 'Map'; readonly value: SerializedScriptBuilderParamObject; } | { readonly type: 'object'; readonly value: SerializedScriptBuilderParamObject; }; export declare const serializeScriptBuilderParam: (paramIn: ScriptBuilderParam) => SerializedScriptBuilderParam; export declare const deserializeScriptBuilderParam: (param: SerializedScriptBuilderParam) => ScriptBuilderParam; export interface SerializedParamArray extends Array { } export interface SerializedParamObject extends Record { } export interface SerializedForwardValue { readonly name: string; readonly param: SerializedParam; readonly converted: SerializedScriptBuilderParam; } export declare type SerializedParam = { readonly type: 'undefined'; } | { readonly type: 'string'; readonly value: string; } | { readonly type: 'boolean'; readonly value: boolean; } | { readonly type: 'Array'; readonly value: SerializedParamArray; } | { readonly type: 'BigNumber'; readonly value: string; } | { readonly type: 'Map'; readonly value: SerializedParamObject; } | { readonly type: 'ForwardValue'; readonly value: SerializedForwardValue; } | { readonly type: 'object'; readonly value: SerializedParamObject; }; export declare const serializeParam: (paramIn: Param) => SerializedParam; export declare const deserializeParam: (param: SerializedParam) => Param;