import { IParser, ITokenizer } from 'thaw-interpreter-types';
import { EnvironmentFrame } from '../../../common/domain-object-model/environment-frame';
import { ISmalltalkClass, ISmalltalkEnvironmentFrame, ISmalltalkFunctionDefinition, ISmalltalkGlobalInfo, ISmalltalkValue, ISmalltalkVariable } from './interfaces/iexpression';
export declare class SmalltalkClass implements ISmalltalkClass {
    readonly className: string;
    readonly superClassName: string | undefined;
    readonly classVariableList: ISmalltalkVariable[];
    readonly clRep: ISmalltalkVariable[];
    private exportedList;
    readonly line: number;
    readonly column: number;
    superClass: ISmalltalkClass | undefined;
    readonly exportedDict: Map<string, ISmalltalkFunctionDefinition>;
    readonly classVariableEnvFrame: EnvironmentFrame<ISmalltalkValue>;
    constructor(className: string, superClassName: string | undefined, classVariableList: ISmalltalkVariable[], clRep: ISmalltalkVariable[], exportedList: ISmalltalkFunctionDefinition[], line?: number, column?: number);
    findMethod(methodName: string): {
        method: ISmalltalkFunctionDefinition | undefined;
        classInWhichMethodWasFound: ISmalltalkClass | undefined;
    };
    findClassVariableValue(variable: ISmalltalkVariable): ISmalltalkValue | undefined;
    trySetClassVariableValue(variable: ISmalltalkVariable, value: ISmalltalkValue): boolean;
    addFunction(tokenizer: ITokenizer, parser: IParser, functionAsString: string): void;
    evaluate(globalInfo: ISmalltalkGlobalInfo, localEnvironment: ISmalltalkEnvironmentFrame | undefined, options?: unknown): ISmalltalkValue;
}
//# sourceMappingURL=class.d.ts.map