/// <reference types="node" />
/// <reference types="pouchdb-core" />
import { Block, ExecuteScriptsResult, ExecutionAction, Script, ScriptContainer, TriggerType, VMListeners, WriteBlockchain } from '@neo-one/node-core-browserify';
import BN from 'bn.js';
import { ExecutionContext, ExecutionInit, Options } from './constants';
export declare const executeScript: ({ code, blockchain, init, gasLeft, options: { scriptHashStack, scriptHash: callingScriptHash, entryScriptHash, depth, stack, stackAlt, createdContracts, returnValueCount, stackCount, pc, }, }: {
    readonly code: Buffer;
    readonly blockchain: WriteBlockchain;
    readonly init: ExecutionInit;
    readonly gasLeft: BN;
    readonly options?: Partial<Options> | undefined;
}) => Promise<ExecutionContext>;
export declare const execute: ({ scripts, blockchain, scriptContainer, triggerType, action, returnValueCount, gas: gasIn, listeners, skipWitnessVerify, persistingBlock, }: {
    readonly scripts: readonly Script[];
    readonly blockchain: WriteBlockchain;
    readonly scriptContainer: ScriptContainer;
    readonly triggerType: TriggerType;
    readonly action: ExecutionAction;
    readonly gas: BN;
    readonly returnValueCount?: number | undefined;
    readonly listeners?: VMListeners | undefined;
    readonly skipWitnessVerify?: boolean | undefined;
    readonly persistingBlock?: Block | undefined;
}) => Promise<ExecuteScriptsResult>;
