import { Platform } from './platform';
export interface ImportObject {
    go: {
        'runtime.clearTimeoutEvent': (sp: any) => void;
        'syscall/js.valueInvoke': (sp: any) => void;
        debug: (value: any) => void;
        'runtime.wasmExit': (sp: any) => void;
        'syscall/js.valueSet': (sp: any) => void;
        'runtime.walltime': (sp: any) => void;
        'syscall/js.valueNew': (sp: any) => void;
        'syscall/js.valueInstanceOf': (sp: any) => void;
        'syscall/js.valueLoadString': (sp: any) => void;
        'syscall/js.stringVal': (sp: any) => void;
        'syscall/js.valueIndex': (sp: any) => void;
        'syscall/js.valueLength': (sp: any) => void;
        'syscall/js.valueCall': (sp: any) => void;
        'runtime.wasmWrite': (sp: any) => void;
        'runtime.nanotime': (sp: any) => void;
        'runtime.getRandomData': (sp: any) => void;
        'syscall/js.valueGet': (sp: any) => void;
        'syscall/js.valuePrepareString': (sp: any) => void;
        'runtime.scheduleTimeoutEvent': (sp: any) => void;
        'syscall/js.valueSetIndex': (sp: any) => void;
    };
}
export declare class Go<T = any> {
    platform: Platform;
    argv: string[];
    env: object;
    exit: (code: any) => void;
    importObject: ImportObject;
    exited: boolean;
    private readonly _exitPromise;
    private _resolveExitPromise;
    private _scheduledTimeouts;
    private _nextCallbackTimeoutID;
    private _inst;
    private _values;
    private _refs;
    private _pendingEvent?;
    constructor();
    run(instance: any): Promise<void>;
    _resume(): void;
    _makeFuncWrapper(id: any): (...args: any[]) => undefined;
}
