import { Docs, VisitorContext } from './parser.js';
import { Rhs } from './parser.utility.js';
import { Range, Reference } from './project.location.js';
import { Signifier } from './signifiers.js';
import { WithableType } from './types.js';
import type { GmlSignifierVisitor } from './visitor.js';
export interface AssignmentInfo {
    static?: boolean;
    instance?: boolean;
    local?: boolean;
    docs?: Docs;
    ctx: VisitorContext;
}
export interface AssignmentVariable {
    name: string;
    range: Range;
    container: WithableType;
}
export declare function assignVariable(visitor: GmlSignifierVisitor, variable: AssignmentVariable, rawRhs: Rhs, info: AssignmentInfo): {
    item: Signifier;
    ref: Reference;
} | undefined;
export declare function ensureDefinitive(self: WithableType, currentDefinitiveSelf: WithableType | undefined, member: Signifier, ref: Reference): void;
//# sourceMappingURL=visitor.assign.d.ts.map