/**
 * Utility Type Filter Helpers — Exclude/Extract/NonNullable/ReturnType/Parameters/Awaited/Record
 *
 * Implements utility types that filter, extract, or transform types without
 * modifying object members:
 * - NonNullable: Filter null/undefined from union
 * - Exclude/Extract: Filter union members by type matching
 * - ReturnType/Parameters: Extract from function types
 * - Awaited: Recursive unwrap of async wrappers
 * - Record: Create dictionary or object type from keys + value
 *
 * DAG position: depends on type-system-state + type-system-relations
 */
import type { IrType } from "../types/index.js";
import type { TypeSystemState, Site } from "./type-system-state.js";
/**
 * Expand ReturnType<F>: Extract return type from function type
 */
export declare const expandReturnTypeUtility: (state: TypeSystemState, type: IrType, site?: Site) => IrType;
/**
 * Expand Parameters<F>: Extract parameters as tuple from function type
 */
export declare const expandParametersUtility: (state: TypeSystemState, type: IrType, site?: Site) => IrType;
/**
 * Expand Exclude<T, U> or Extract<T, U>
 */
export declare const expandExcludeExtractUtility: (tType: IrType, uType: IrType, isExtract: boolean) => IrType;
/**
 * Expand NonNullable<T>: Filter out null and undefined from union
 */
export declare const expandNonNullableUtility: (type: IrType) => IrType;
/**
 * Expand Awaited<T>: Recursively unwrap Promise/Task/ValueTask.
 */
export declare const expandAwaitedUtility: (state: TypeSystemState, type: IrType) => IrType;
/**
 * Expand Record<K, V>: Create dictionary or object type.
 */
export declare const expandRecordUtility: (state: TypeSystemState, keyArg: IrType, valueArg: IrType, site?: Site) => IrType;
//# sourceMappingURL=utility-type-filter-helpers.d.ts.map