import sinon from 'sinon';
import { SchemaNamespaces } from 'webextensions-schema';
import { SchemaId, SchemaWalkerDelegate, SchemaWalkerValue } from './walker';
declare type BrowserOut = any;
export declare class BrowserSchemaWalker implements SchemaWalkerDelegate {
    private sandbox;
    private aliases;
    private browser;
    constructor(sandbox: sinon.SinonSandbox, aliases: Map<string, string>, browser: BrowserOut);
    walk(namespaces: SchemaNamespaces): void;
    handleImport(schemaId: SchemaId, name: string): void;
    handleField(schemaId: SchemaId, name: string, value: unknown, optional: boolean, out: SchemaWalkerValue): void;
    createNamespaceValue(schemaId: SchemaId): SchemaWalkerValue;
    startObjectPropertyValue(): SchemaWalkerValue;
    createEventValue(): SchemaWalkerValue;
    createFnValue(schemaId: SchemaId, returnValue: SchemaWalkerValue): SchemaWalkerValue;
    finishObjectPropertyValue(): SchemaWalkerValue;
    finishTypeValue(): SchemaWalkerValue;
    valueForInvalidRef(): SchemaWalkerValue;
    valueForCircularType(): SchemaWalkerValue;
    createEnumValue(): SchemaWalkerValue;
    createPlainValue(): SchemaWalkerValue;
}
export {};
