import { ExpressionASTNode, t_BinaryOperators, t_CompoundAssignmentOperators } from "../../../ast/ast_expressions"; import { ExpressionContext } from "../../compilation/contexts"; import { Expression } from "./Expression"; import { MemberOperatorOverloadExpression, NonMemberOperatorOverloadExpression } from "./OperatorOverloadExpression"; export declare function selectOperatorOverload(context: ExpressionContext, ast: ExpressionASTNode, operator: t_OverloadableOperators, originalArgs: Expression[]): NonMemberOperatorOverloadExpression | MemberOperatorOverloadExpression | undefined; export declare type t_OverloadableOperators = t_CompoundAssignmentOperators | t_BinaryOperators | "=" | "+=" | "[]";