import { type PartSpan } from "../ir/part-span.js"; import type { Scope } from "./scope.js"; export interface SetOpArm { /** The arm's own (select-shaped, or itself a nested set-op) scope. */ scope: Scope; span: PartSpan; } export interface SetOpArms { /** The whole set-op construct's span. */ span: PartSpan; /** Each arm, flattened left-to-right in source order (nested set-ops folded left). */ arms: SetOpArm[]; } /** `undefined` for a non-setop frame, or when a span can't be honestly derived (never fabricate a * partial arm list). Total: never throws. */ export declare function setOpArmsOf(scope: Scope): SetOpArms | undefined;