import { Filter, SavedFilter } from '../models';
import { Ref } from 'vue';
export declare const useSearch: (persistent?: boolean | Ref<boolean>, defaultFilters?: Filter[] | Ref<Filter[]>, defaultFiltersOpened?: boolean | Ref<boolean>) => {
    search: Ref<string, string>;
    reflect: Ref<boolean, boolean>;
    filters: Ref<{
        label: string;
        inputType?: import('../models').InputType | undefined;
        key: string;
        type: import('../models').FilterType;
        value?: any;
        valueFrom?: any;
        valueTo?: any;
        selectOptions?: {
            label: string;
            value: any;
        }[] | undefined;
        autocompleteOptions?: string[] | {
            label: string;
            value: string;
        }[] | undefined;
        autocompleteRequest?: ((abortController: AbortController, url?: string | undefined) => Promise<{
            data: import('../models').InputOption[];
        }>) | undefined;
        customFilter?: Function | undefined;
        multiple?: boolean | undefined;
        selectAll?: boolean | undefined;
        selectAllLabel?: string | undefined;
    }[], Filter[] | {
        label: string;
        inputType?: import('../models').InputType | undefined;
        key: string;
        type: import('../models').FilterType;
        value?: any;
        valueFrom?: any;
        valueTo?: any;
        selectOptions?: {
            label: string;
            value: any;
        }[] | undefined;
        autocompleteOptions?: string[] | {
            label: string;
            value: string;
        }[] | undefined;
        autocompleteRequest?: ((abortController: AbortController, url?: string | undefined) => Promise<{
            data: import('../models').InputOption[];
        }>) | undefined;
        customFilter?: Function | undefined;
        multiple?: boolean | undefined;
        selectAll?: boolean | undefined;
        selectAllLabel?: string | undefined;
    }[]>;
    isFilterVisible: Ref<boolean, boolean>;
    numberOfActiveFilters: import('vue').ComputedRef<number>;
    isMounting: Ref<boolean, boolean>;
    toggleFilters: () => void;
    filterItems: (items: any[]) => any[];
    isSavedFilterActive: (savedFilter: SavedFilter) => boolean;
    resetFilters: () => void;
    selectSavedFilter: (savedFilter: SavedFilter) => void;
    resetAllFilters: () => void;
    updateFiltersFromProps: (updatedFilters: Filter[]) => void;
};
export declare const reflectFiltersToPath: (filters: Filter[]) => void;
export declare const reflectSearchToPath: (searchValue: string, key: string) => void;
