///
///
import type { Filter, ActiveFilters } from "../types";
/**
* Composable для управления состоянием фильтров
*/
export declare function useFiltersState(): {
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;
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;
}[]>;
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;
}[]>;
hasFilters: import("vue").ComputedRef;
hasActiveFilters: import("vue").ComputedRef;
activeFiltersCount: import("vue").ComputedRef;
setFilters: (newFilters: Filter[]) => void;
addFilter: (filter: Filter) => void;
removeFilter: (filterCode: string) => void;
clearFilters: () => void;
applyFilterValue: (filterCode: string, valueId: string, isSelected: boolean) => void;
removeFilterValue: (filterCode: string, valueId: string) => void;
clearActiveFilters: () => void;
setActiveFilters: (newActiveFilters: ActiveFilters) => void;
isFilterValueActive: (filterCode: string, valueId: string) => boolean;
getActiveValuesForFilter: (filterCode: string) => string[];
applyRangeFilter: (filterCode: string, gte?: string, lte?: string) => void;
removeRangeFilter: (filterCode: string) => void;
getActiveRangeFilter: (filterCode: string) => {
gte?: string;
lte?: string;
} | null;
clearRangeFilters: () => void;
setRangeFilters: (rangeFilters: Array<{
code: string;
gte?: string;
lte?: string;
}>) => void;
setAvailableRangeFilters: (newRangeFilters: Array<{
code: string;
name: string;
gte: string;
lte: string;
}>) => void;
addRangeFilter: (rangeFilter: {
code: string;
name: string;
gte: string;
lte: string;
}) => void;
removeAvailableRangeFilter: (filterCode: string) => void;
clearAvailableRangeFilters: () => void;
getRangeFilter: (filterCode: string) => {
code: string;
name: string;
gte: string;
lte: string;
} | undefined;
};
//# sourceMappingURL=useFiltersState.d.ts.map