/**
 * Override checking, signature queries, and type syntax conversion.
 *
 * Contains signatureHasConditionalReturn, signatureHasVariadicTypeParams,
 * checkTsClassMemberOverride, and typeFromSyntax.
 *
 * DAG position: depends on type-system-state, type-system-relations
 */
import type { IrType, IrParameter } from "../types/index.js";
import type { DeclId, SignatureId, TypeSyntaxId } from "./types.js";
import type { TypeSystemState } from "./type-system-state.js";
export declare const signatureHasConditionalReturn: (state: TypeSystemState, sigId: SignatureId) => boolean;
export declare const signatureHasVariadicTypeParams: (state: TypeSystemState, sigId: SignatureId) => boolean;
/**
 * Check if a class member overrides a base class member.
 *
 * ALICE'S SPEC: Uses captured ClassMemberNames (pure data) from Binding.
 * No TS AST inspection, no SyntaxKind numbers. TS-version safe.
 */
export declare const checkTsClassMemberOverride: (state: TypeSystemState, declId: DeclId, memberName: string, memberKind: "method" | "property", parameters?: readonly IrParameter[], baseClassType?: IrType) => {
    isOverride: boolean;
    isShadow: boolean;
};
/**
 * Convert a captured type syntax to IrType.
 *
 * This method takes a TypeSyntaxId handle (opaque to caller) and looks up
 * the captured TypeNode in the HandleRegistry, then converts it.
 *
 * ALICE'S SPEC (Phase 2): TypeSystem receives opaque handles, not ts.TypeNode.
 */
export declare const typeFromSyntax: (state: TypeSystemState, typeSyntaxId: TypeSyntaxId) => IrType;
//# sourceMappingURL=inference-declarations-overrides.d.ts.map