///
///
import type { FiltersWidgetConfig, Filter, FiltersWidgetEmits } from "../types";
import type { SearchApiService } from "../../searchWidget/types";
/**
* Основной composable для виджета фильтров (без конфликтующих watch)
*/
export declare function useFiltersWidgetNoWatch(config: FiltersWidgetConfig, apiService: SearchApiService | undefined, emit: FiltersWidgetEmits): {
filters: import("vue").Ref<({
type: "checkbox";
values: {
id: string;
name: string;
is_selected: boolean;
}[];
code: string;
name: string;
} | {
type: "range";
gte: string;
lte: string;
code: string;
name: string;
})[], Filter[] | ({
type: "checkbox";
values: {
id: string;
name: string;
is_selected: boolean;
}[];
code: string;
name: string;
} | {
type: "range";
gte: string;
lte: string;
code: string;
name: string;
})[]>;
isLoading: import("vue").Ref;
error: import("vue").Ref;
activeFilters: import("vue").Ref;
rangeFilters: import("vue").Ref<{
code: string;
name: string;
gte: string;
lte: string;
}[], {
code: string;
name: string;
gte: string;
lte: string;
}[] | {
code: string;
name: string;
gte: string;
lte: string;
}[]>;
activeRangeFilters: import("vue").Ref<{
code: string;
gte?: string | undefined;
lte?: string | undefined;
}[], {
code: string;
gte?: string | undefined;
lte?: string | undefined;
}[] | {
code: string;
gte?: string | undefined;
lte?: string | undefined;
}[]>;
hasFilters: import("vue").ComputedRef;
hasActiveFilters: import("vue").ComputedRef;
activeFiltersCount: import("vue").ComputedRef;
applyFilters: () => Promise;
resetFilters: () => Promise;
removeFilterValue: (filterCode: string, valueId: string) => void;
loadFilters: (query: string) => Promise;
handleFilterValueClick: (filterCode: string, valueId: string) => Promise;
handleRangeFilterApply: (filterCode: string, gte?: string, lte?: string) => Promise;
isFilterValueActive: (filterCode: string, valueId: string) => boolean;
getActiveValuesForFilter: (filterCode: string) => string[];
getActiveRangeFilter: (filterCode: string) => {
gte?: string | undefined;
lte?: string | undefined;
} | null;
getRangeFilter: (filterCode: string) => {
code: string;
name: string;
gte: string;
lte: string;
} | undefined;
};
//# sourceMappingURL=useFiltersWidgetNoWatch.d.ts.map