import { Entity } from '@backstage/catalog-model';
/** @public */
export interface EntityPredicates {
    kind?: string | string[];
    type?: string | string[];
}
/**
 * For use in EntitySwitch.Case. Matches if the entity is of a given kind.
 * @public
 */
export declare function isKind(kinds: string | string[]): (entity: Entity) => boolean;
/**
 * For use in EntitySwitch.Case. Matches if the entity is a Component of a given spec.type.
 * @public
 */
export declare function isComponentType(types: string | string[]): (entity: Entity) => boolean;
/**
 * For use in EntitySwitch.Case. Matches if the entity is a Resource of a given spec.type.
 * @public
 */
export declare function isResourceType(types: string | string[]): (entity: Entity) => boolean;
/**
 * For use in EntitySwitch.Case. Matches if the entity is the specified kind and type (if present).
 * @public
 */
export declare function isEntityWith(predicate: EntityPredicates): (entity: Entity) => boolean;
/**
 * For use in EntitySwitch.Case. Matches if the entity is in a given namespace.
 * @public
 */
export declare function isNamespace(namespaces: string | string[]): (entity: Entity) => boolean;
