/**
 * Unified AND Filter Logic
 *
 * This module provides common filtering logic that uses AND operations
 * instead of OR operations for all filter combinations.
 */
export interface FilterState {
    search?: string;
    categories?: string[];
    subcategories?: string[];
    tags?: string[];
    filters?: string[];
    pricing?: string;
    page?: number;
}
export interface FilterConfig {
    basePath: string;
    supportedFilters: {
        categories?: boolean;
        subcategories?: boolean;
        tags?: boolean;
        filters?: boolean;
        pricing?: boolean;
        search?: boolean;
    };
}
/**
 * Hook for managing AND-based filter logic
 */
export declare function useUnifiedFiltering(config: FilterConfig): {
    getCurrentFilterState: () => FilterState;
    updateFilters: (newFilters: Partial<FilterState>, preserveScroll?: boolean) => void;
    addFilter: (type: keyof FilterState, value: string, preserveScroll?: boolean) => void;
    removeFilter: (type: keyof FilterState, value?: string, preserveScroll?: boolean) => void;
    toggleFilter: (type: keyof FilterState, value: string, preserveScroll?: boolean) => void;
    clearAllFilters: () => void;
    getFilterChips: (categories?: any[], tags?: any[]) => {
        id: string;
        label: string;
        type: "category" | "subcategory" | "tag" | "filter" | "pricing";
    }[];
    handleFilterChipRemove: (chipId: string) => void;
    isPending: boolean;
};
/**
 * Vendor-specific filter configuration
 */
export declare const vendorFilterConfig: FilterConfig;
/**
 * Blog-specific filter configuration
 */
export declare const blogFilterConfig: FilterConfig;
//# sourceMappingURL=unified-filter-logic.d.ts.map