/**
 * @typedef {import("@helios-lang/ir").SourceMappedStringI} SourceMappedStringI
 * @typedef {import("../codegen/index.js").Definitions} Definitions
 * @typedef {import("../typecheck/index.js").DataType} DataType
 * @typedef {import("../typecheck/index.js").ScriptTypes} ScriptTypes
 * @typedef {import("../typecheck/index.js").Type} Type
 * @typedef {import("./EntryPoint.js").EntryPoint} EntryPoint
 */
/**
 * @implements {EntryPoint}
 */
export class MixedEntryPoint extends EntryPointImpl implements EntryPoint {
    get purpose(): string;
    /**
     * @type {Set<string>}
     */
    get requiredParams(): Set<string>;
    /**
     * @param {ScriptTypes} scriptTypes
     */
    evalTypes(scriptTypes: ScriptTypes): void;
    /**
     * @param {ToIRContext} ctx
     * @param {Definitions | undefined} extra
     * @returns {SourceMappedStringI}
     */
    toIR(ctx: ToIRContext, extra?: Definitions | undefined): SourceMappedStringI;
    /**
     * @protected
     * @param {ToIRContext} ctx
     * @returns {SourceMappedStringI}
     */
    protected toIRInternal(ctx: ToIRContext): SourceMappedStringI;
}
export type SourceMappedStringI = import("@helios-lang/ir").SourceMappedStringI;
export type Definitions = import("../codegen/index.js").Definitions;
export type DataType = import("../typecheck/index.js").DataType;
export type ScriptTypes = import("../typecheck/index.js").ScriptTypes;
export type Type = import("../typecheck/index.js").Type;
export type EntryPoint = import("./EntryPoint.js").EntryPoint;
import { EntryPointImpl } from "./EntryPoint.js";
import { ToIRContext } from "../codegen/index.js";
//# sourceMappingURL=MixedEntryPoint.d.ts.map