import type { Snippet } from 'svelte'; import type { CatalogPriceRange } from '../../../utils/filterParams.js'; import { type FilterFieldSchema, type FilterOption, type FilterValues } from '../../../utils/filterSchema.js'; /** @deprecated Prefer `FilterFieldSchema` in `schema` */ export interface FacetGroupDef { id: string; title: string; options: FilterOption[]; multiple?: boolean; limit?: number; category?: string; } interface FacetPanelProps { title?: string; /** * Preferred: schema JSON that auto-renders via BuilderFilters. * Pair with `bind:values` — one bag for all fields. */ schema?: FilterFieldSchema[]; values?: FilterValues; /** @deprecated Prefer `schema` + `values` */ groups?: FacetGroupDef[]; /** @deprecated Prefer `values` */ facets?: Record; /** @deprecated Prefer a `range` field in `schema` */ price?: CatalogPriceRange; priceMin?: number; priceMax?: number; priceStep?: number; priceUnit?: string; showPrice?: boolean; collapsible?: boolean; collapsed?: boolean; clearLabel?: string; class?: string; children?: Snippet; onclear?: () => void; onchange?: (values: FilterValues) => void; /** @deprecated */ onchangefacets?: (facets: Record) => void; /** @deprecated */ onchangeprice?: (price: CatalogPriceRange | undefined) => void; } declare const FacetPanel: import("svelte").Component; type FacetPanel = ReturnType; export default FacetPanel;