/**
 * @typedef {import("@helios-lang/compiler-utils").Site} Site
 * @typedef {import("@helios-lang/compiler-utils").Token} Token
 * @typedef {import("@helios-lang/ir").SourceMappedStringI} SourceMappedStringI
 * @typedef {import("../typecheck/index.js").Typed} Typed
 */
/**
 * Default switch case
 */
export class SwitchDefault {
    /**
     * @param {Site} site
     * @param {Expr} body
     */
    constructor(site: Site, body: Expr);
    /**
     * @readonly
     * @type {Site}
     */
    readonly site: Site;
    /**
     * @readonly
     * @type {Expr}
     */
    readonly body: Expr;
    /**
     * @param {Scope} scope
     * @returns {Typed}
     */
    eval(scope: Scope): Typed;
    /**
     * @returns {boolean}
     */
    isVoid(): boolean;
    /**
     * @param {ToIRContext} ctx
     * @returns {SourceMappedStringI}
     */
    toIR(ctx: ToIRContext): SourceMappedStringI;
    toString(): string;
}
export type Site = import("@helios-lang/compiler-utils").Site;
export type Token = import("@helios-lang/compiler-utils").Token;
export type SourceMappedStringI = import("@helios-lang/ir").SourceMappedStringI;
export type Typed = import("../typecheck/index.js").Typed;
import { Expr } from "./Expr.js";
import { Scope } from "../scopes/index.js";
import { ToIRContext } from "../codegen/index.js";
//# sourceMappingURL=SwitchDefault.d.ts.map