import { IParser, ITokenizer } from 'thaw-interpreter-types';
import { IEnvironmentFrame } from './environment-frame';
import { IFunctionDefinition } from './function-definition';
import { IGlobalInfo } from './iglobal-info';
import { IMacroDefinition } from './imacro-definition';
export declare abstract class GlobalInfoBase<T> implements IGlobalInfo<T> {
    protected readonly tokenizer: ITokenizer | undefined;
    protected readonly parser: IParser | undefined;
    readonly globalEnvironment: IEnvironmentFrame<T>;
    readonly functionDefinitions: Map<string, IFunctionDefinition<T>>;
    readonly macroDefinitions: Map<string, IMacroDefinition<T>>;
    dynamicScoping: boolean;
    debug: boolean;
    private printedText;
    protected constructor(options?: {
        parser?: IParser;
        tokenizer?: ITokenizer;
    });
    initialize(): void;
    abstract get falseValue(): T;
    abstract get trueValue(): T;
    booleanAsValue(value: boolean): T;
    abstract valueIsFalse(value: T): boolean;
    abstract valueIsInteger(value: T): boolean;
    abstract valueAsInteger(value: T): number;
    abstract integerAsValue(value: number): T;
    loadPreset(presetName: string): string;
    loadPresets(): void;
    setScoping(dynamicScoping: boolean): void;
    setDebug(debug: boolean): void;
    clearPrintedText(): void;
    print(evaluatedArguments: T[]): void;
    protected printDirect(str: string): void;
    getPrintedText(): string;
    evaluate(str: string): T;
    evaluateToString(str: string): string;
}
//# sourceMappingURL=global-info-base.d.ts.map