import { UrlMatchingRule } from '../../hooks/useBreadcrumbs';
import { AvailableBuiltInIcons } from './BuiltInIconRenderer';
import { SearchResultType } from './SearchResults';
interface RootBreadcrumbCondition {
    RootBreadcrumb: string;
}
interface RecordTypeCondition {
    RecordType: string;
}
interface ContentTypeCondition {
    ContentType: string;
}
interface UrlRuleCondition {
    UrlMatch: UrlMatchingRule;
}
interface AndFilterCondition {
    AND: FilterConditions[];
}
interface OrFilterCondition {
    OR: FilterConditions[];
}
interface NotFilterCondition {
    NOT: FilterConditions;
}
interface AllFilterCondition {
    ALL: boolean;
}
type FilterConditions = AllFilterCondition | AndFilterCondition | ContentTypeCondition | NotFilterCondition | OrFilterCondition | RecordTypeCondition | RootBreadcrumbCondition | UrlRuleCondition;
export type CardIcon = {
    builtIn: AvailableBuiltInIcons;
} | {
    custom: string;
};
export interface CustomCardSettings {
    filters: FilterConditions;
    icon?: CardIcon;
    searchTabLabel?: string;
}
export declare function validateFilterConditions(filterConditions: FilterConditions, result: SearchResultType): boolean;
export declare const AllPerTabConfiguration: CustomCardSettings;
export declare const defaultTabsConfiguration: CustomCardSettings[];
export declare function filterCustomCardSettings(customCardSettings: CustomCardSettings[], disabledDefaultTabs?: string[]): CustomCardSettings[];
export {};
