import { SearchResultType } from '../components/SearchResults/SearchResults'; import { FilterConditions } from '../components/SearchResults/TabConfiguration'; import { StringReplacementRule } from '../utils/processStringReplacement'; interface ProcessUrlMatchingRuleArgs { fullUrl: string; partialUrl: string; urlRule?: UrlMatchingRule; } export type ProcessUrlMatchingRule = (args: ProcessUrlMatchingRuleArgs) => { matches: boolean; remainingChildPaths?: string[]; }; export declare const processUrlMatchingRule: ProcessUrlMatchingRule; export declare const processUrlToBreadcrumbMapper: ({ fullUrl, partialPath, urlToBreadcrumbMapper, }: { fullUrl: string; partialPath: string; urlToBreadcrumbMapper?: UrlToBreadcrumbsMapperRules | undefined; }) => { breadcrumbName: string | null; replaceLeading: boolean; }; export declare const applyBreadcrumbRules: (searchResult: SearchResultType, rules: BreadcrumbRules, stringReplacementRules?: StringReplacementRule[]) => string[]; export declare const convertUrlToBreadcrumbs: (searchResult: SearchResultType, rules: BreadcrumbRules) => string[]; export declare const useBreadcrumbs: (searchResult: SearchResultType, isFocused?: boolean, tabLabel?: string) => import("react/jsx-runtime").JSX.Element[]; interface UrlMatchingRuleInterface { ruleType: 'PartialUrl' | 'SubpathOnly'; } type PartialUrlMatchingRule = UrlMatchingRuleInterface & { ruleType: 'PartialUrl'; partialUrl: string; maxNChildSubpaths?: number; }; type SubpathOnlyUrlMatchingRule = UrlMatchingRuleInterface & { ruleType: 'SubpathOnly'; subpath: string; }; export type CasingStyle = 'LOWER_CASE' | 'TITLE_CASE' | 'UPPER_CASE'; export interface BreadcrumbRules { style?: CasingStyle; urlToBreadcrumbMapper?: UrlToBreadcrumbsMapperRules; } type UrlToBreadcrumbsMapperRules = { matchingRule: UrlMatchingRule; breadcrumbName: string; replaceLeading?: boolean; }[]; export interface PrependBreadcrumbRule { matchingRule: FilterConditions; breadcrumbToPrepend: string; } export interface BreadcrumbRules { style?: CasingStyle; urlToBreadcrumbMapper?: UrlToBreadcrumbsMapperRules; prependBreadcrumbs?: PrependBreadcrumbRule[]; } export type UrlMatchingRule = PartialUrlMatchingRule | SubpathOnlyUrlMatchingRule; export {};