import { type Expr } from "../../expr";
import { type Environment, type Variable } from "../../env";
export declare function isFlowableExpr(expr: Expr, options?: {
    allowSameFrameLocal?: boolean;
    allowParameterSource?: boolean;
    allowComptimeSource?: boolean;
    maxLocalFrameLevel?: number;
}): boolean;
export declare function aliasGroupRoot(variable: Variable): Variable;
export declare function findPropertyChainRootAtom(expr: Expr): Expr | undefined;
export declare function requireRefOwnArgumentExclusivity({ parameters, argExprs, env, }: {
    parameters: {
        label: string;
        isRef?: boolean;
        isOwningTheRcValue: boolean;
    }[];
    argExprs: Expr[];
    env: Environment;
}): void;
export declare function requireValidRefArgumentPlaces({ parameters, argExprs, env, }: {
    parameters: {
        label: string;
        isRef?: boolean;
        isCompileTimeOnly: boolean;
    }[];
    argExprs: Expr[];
    env: Environment;
}): void;
