import { Scope } from "./scope";
import { ScopeManager } from "../scopeManager";
import { Variable } from "../variable";
import { Reference } from "../reference";
import * as ESTree from "estree";
export declare class FunctionScope extends Scope<ESTree.Function | ESTree.Program> {
    constructor(scopeManager: ScopeManager, upperScope: Scope, block: ESTree.Function | ESTree.Program, isMethodDefinition: boolean);
    isArgumentsMaterialized(): boolean;
    isThisMaterialized(): boolean;
    __defineArguments(): void;
    __isValidResolution(ref: Reference, variable: Variable): boolean;
}