import type { InternalPropertyDefinition, OperatorT } from "../TokenFilter.types.js";
declare const QUERY_OPERATORS: OperatorT[];
/**
 * Match an operator from the input text.
 * Operators are already sorted by specificity, so no re-sorting needed.
 */
declare function matchOperator(allowedOperators: OperatorT[], text: string): OperatorT | undefined;
/**
 * Match a property from the input text by longest property label.
 *
 * properties: [{ propertyLabel: "Instance" }, { propertyLabel: "Instance ID" }]
 * text = "Instance ID:"
 *
 * Result: { propertyLabel: "Instance ID" }
 */
declare function matchFilteringProperty(filteringProperties: InternalPropertyDefinition[], text: string): InternalPropertyDefinition | undefined;
/**
 * Check if the input text is a valid prefix of any allowed operator.
 * Returns the prefix if valid, null otherwise.
 */
declare function matchOperatorPrefix(allowedOperators: OperatorT[], filteringText: string): string | null;
export { matchFilteringProperty, matchOperator, matchOperatorPrefix, QUERY_OPERATORS, };
