/**
 * Switch expression for Enum, with SwitchCases and SwitchDefault as children
 */
export class EnumSwitchExpr extends SwitchExpr {
    /**
     * @private
     * @param {Scope} scope
     * @returns {DataType[]}
     */
    private evalControlExprTypes;
    /**
     * Throws an error if some cases can't be reached
     * @param {DataType[]} enumTypes
     * @returns {boolean}
     */
    checkCaseReachability(enumTypes: DataType[]): boolean;
}
export type SourceMappedStringI = import("@helios-lang/ir").SourceMappedStringI;
export type DataType = import("../typecheck/index.js").DataType;
export type EnumMemberType = import("../typecheck/index.js").EnumMemberType;
export type EvalEntity = import("../typecheck/index.js").EvalEntity;
export type Type = import("../typecheck/index.js").Type;
import { SwitchExpr } from "./SwitchExpr.js";
//# sourceMappingURL=EnumSwitchExpr.d.ts.map