import { ExprType } from "./ExprType.js";
import { BuiltinMemberDefinition, RegisteredBuiltinVariableDefinition } from "../builtin/BuiltinVariableRegistry.js";
export declare class ContextObjectType implements ExprType {
    private readonly name;
    private readonly baseType;
    private readonly members;
    constructor(name: string, baseType: ExprType, members: Map<string, BuiltinMemberDefinition>);
    static fromBuiltinDefinition(definition: RegisteredBuiltinVariableDefinition): ContextObjectType;
    getMemberDefinition(name: string): BuiltinMemberDefinition | undefined;
    getMemberDefinitions(): Array<BuiltinMemberDefinition>;
    getName(): string;
    isSuperTypeOf(other: ExprType): boolean;
    isSameTypeAs(other: ExprType): boolean;
    isSubTypeOf(other: ExprType): boolean;
    overlapsWith(other: ExprType): boolean;
    isAssignableFrom(other: ExprType): boolean;
}
