import { Entity } from '@backstage/catalog-model'; /** * Parses a filter expression that decides whether to render an entity component * or not. Returns a function that matches entities based on that expression. * * @remarks * * Filter strings are on the form `kind:user,group is:orphan`. There's * effectively an AND between the space separated parts, and an OR between comma * separated parameters. So the example filter string semantically means * "entities that are of either User or Group kind, and also are orphans". * * The `expressionParseErrors` array contains any errors that were encountered * during initial parsing of the expression. Note that the parts of the input * expression that had errors are ignored entirely and parsing continues as if * they didn't exist. */ export declare function parseFilterExpression(expression: string): { filterFn: (entity: Entity) => boolean; expressionParseErrors: Error[]; }; export declare function splitFilterExpression(expression: string, onParseError: (error: Error) => void): Array<{ key: string; parameters: string[]; }>;