///
import { Address } from '../common/address';
import { StateStore } from '../core/state/stateStore';
import { Transaction } from '../core/transaction';
import { NotificationCallback, NotifyEventInfo } from '../event/notifyEvents';
import { StackItem } from '../vm/types/stackItem';
import { ContextRef } from './context';
declare type RegisterService = (native: NativeVmService) => void;
declare type Handler = (native: NativeVmService) => Buffer;
export declare const contracts: Map;
interface NativeVmServiceOptions {
stateStore: StateStore;
contextRef: ContextRef;
code: Buffer;
tx: Transaction;
time: number;
serviceMap: Map;
notificationCallback?: NotificationCallback;
}
export declare class NativeVmService {
stateStore: StateStore;
contextRef: ContextRef;
code: Buffer;
input: Buffer;
tx: Transaction;
time: number;
private notifications;
private logs;
private serviceMap;
private notificationCallback?;
constructor(options: NativeVmServiceOptions);
invoke(): StackItem | undefined;
register(methodName: string, handler: Handler): void;
addNotification(event: NotifyEventInfo): void;
nativeCall(address: Address, method: string, args: Buffer): StackItem | undefined;
}
export {};