import type { LimitLiteral } from "../../attributes.ts"; export type StringifiablePrefixOperator = "keyof"; export declare const minComparators: { readonly ">": true; readonly ">=": true; }; export type MinComparator = keyof typeof minComparators; export declare const maxComparators: { readonly "<": true; readonly "<=": true; }; export type MaxComparator = keyof typeof maxComparators; export declare const comparators: { ">": boolean; ">=": boolean; "<": boolean; "<=": boolean; "==": boolean; }; export type Comparator = keyof typeof comparators; export declare const invertedComparators: InvertedComparators; export type InvertedComparators = { "<": ">"; ">": "<"; "<=": ">="; ">=": "<="; "==": "=="; }; export type BranchOperator = "&" | "|" | "|>"; export type OpenLeftBound = { limit: LimitLiteral; comparator: MinComparator; }; export declare const writeOpenRangeMessage: (min: min, comparator: comparator) => writeOpenRangeMessage; export type writeOpenRangeMessage = `Left bounds are only valid when paired with right bounds (try ...${comparator}${min})`; export type writeUnpairableComparatorMessage = `Left-bounded expressions must specify their limits using < or <= (was ${comparator})`; export declare const writeUnpairableComparatorMessage: (comparator: comparator) => writeUnpairableComparatorMessage; export declare const writeMultipleLeftBoundsMessage: (openLimit: openLimit, openComparator: openComparator, limit: limit, comparator: comparator) => writeMultipleLeftBoundsMessage; export type writeMultipleLeftBoundsMessage = `An expression may have at most one left bound (parsed ${openLimit}${InvertedComparators[openComparator]}, ${limit}${InvertedComparators[comparator]})`;