/**
 * useNaturalLanguageFilters Hook
 *
 * Convert natural language queries to structured filters
 * Examples:
 * - "red shirts under $50" → color: red, category: shirts, price: <= 50
 * - "size large blue jeans" → size: L, color: blue, category: jeans
 */
export interface ParsedFilter {
    field: string;
    value: string;
    operator: '=' | '>' | '<' | '>=' | '<=' | 'contains';
    confidence: number;
    matchedText: string;
}
export interface NaturalLanguageResult {
    /** Cleaned query with filter terms removed */
    cleanedQuery: string;
    /** Extracted filters */
    filters: ParsedFilter[];
    /** Original query */
    originalQuery: string;
    /** Whether any filters were detected */
    hasFilters: boolean;
}
export interface NaturalLanguageFiltersOptions {
    /** Custom field mappings */
    fieldMappings?: Record<string, string>;
    /** Custom value mappings */
    valueMappings?: Record<string, Record<string, string>>;
    /** Whether to auto-apply filters to search state */
    autoApply?: boolean;
    /** Currency symbol for price parsing */
    currencySymbol?: string;
}
export declare function useNaturalLanguageFilters(options?: NaturalLanguageFiltersOptions): {
    /** Parse a natural language query */
    parse: (query: string) => NaturalLanguageResult;
    /** Apply parsed filters to search state */
    applyFilters: (filters: ParsedFilter[]) => void;
    /** Parse and apply in one step */
    parseAndApply: (query: string) => NaturalLanguageResult;
};
/**
 * Utility to format parsed filters for display
 */
export declare function formatParsedFilters(filters: ParsedFilter[]): string;
//# sourceMappingURL=useNaturalLanguageFilters.d.ts.map