import type { ResolvedBannerConfig } from '@redocly/config'; export declare const SpecificityTier: { readonly CatchAll: 0; readonly DoubleWildcard: 1; readonly SingleWildcard: 2; readonly ExactMatch: 3; }; export type SpecificityTier = (typeof SpecificityTier)[keyof typeof SpecificityTier]; export type Specificity = { tier: SpecificityTier; literalSegments: number; }; /** * Returns a structured specificity for a target pattern. * Higher tier = more specific. Within a tier, more literal * (non-wildcard) path segments wins. */ export declare function getTargetSpecificity(target: string | undefined): Specificity; /** * Compares two specificities. Returns a positive number if `left` is more * specific, negative if `right` is, and 0 when equal. */ export declare function compareSpecificity(left: Specificity, right: Specificity): number; /** * Checks if a slug matches a target pattern */ export declare function matchesBannerTarget(slug: string, target: string | undefined): boolean; /** * Returns the most specific matching banner for a slug. */ export declare function getBannerForSlug(banners: ResolvedBannerConfig[], slug: string, dismissedBanners?: Set): ResolvedBannerConfig | undefined; //# sourceMappingURL=match-banner-target.d.ts.map