import type { TypeExpr } from "../ast/types.js"; import type { TypeEnv } from "./type-env.js"; /** * Check structural type equality after alias resolution. * - `unknown` is compatible with anything (returns true). * - `RefinedType { base: T }` is compatible with `T` (refinement erasure). */ export declare function typesEqual(a: TypeExpr, b: TypeExpr, env: TypeEnv): boolean; /** * Resolve a type for comparison: alias resolution + refinement erasure. */ export declare function resolveType(type: TypeExpr, env: TypeEnv): TypeExpr; /** * Check if a type is "unknown" (an unresolvable named type). * We encode `unknown` as Named("unknown") — imported symbols get this type. */ export declare function isUnknown(type: TypeExpr): boolean; //# sourceMappingURL=types-equal.d.ts.map