/** * Guard extraction and typeof refinement helpers for if-statement emission. */ import { IrExpression, IrStatement, IrType } from "@tsonic/frontend"; import { EmitterContext } from "../../../types.js"; export declare const isArrayLikeNarrowingCandidate: (type: IrType, context: EmitterContext) => boolean; export declare const narrowTypeByArrayShape: (currentType: IrType | undefined, wantArray: boolean, context: EmitterContext) => IrType | undefined; export declare const narrowTypeByNotAssignableTarget: (currentType: IrType | undefined, targetType: IrType | undefined, context: EmitterContext) => IrType | undefined; export declare const tryExtractArrayIsArrayGuard: (condition: Extract["condition"]) => { readonly originalName: string; readonly targetExpr: Extract; readonly narrowsInThen: boolean; } | undefined; export declare const tryExtractDirectTypeofGuard: (expr: Extract["condition"]) => { readonly bindingKey: string; readonly targetExpr: Extract; readonly tag: string; readonly matchesInTruthyBranch: boolean; } | undefined; //# sourceMappingURL=guard-extraction.d.ts.map