import React from 'react';
import { DataSet as DataSetType } from '../../../../shared-logic/src/DataSet/types';
import { AdditionalFilter } from '../../../../shared-logic/src/AdditionalFilter/types';
import { MultiSelectOptions } from '../../base/MultiSelect';
export declare type AdvancedOptions = {
    inclusiveDate?: boolean;
    allowTimeSelection?: boolean;
};
declare type SetSelectedDataSets = {
    type: 'setSelectedDataSets';
    selectedDataSetIndexes: Array<number>;
};
declare type SetSelectedFields = {
    type: 'setSelectedFields';
    selectedFieldIndexes: Array<number>;
};
declare type SetTitle = {
    type: 'setTitle';
    title: string;
};
declare type SetType = {
    type: 'setType';
    filterType: AdditionalFilter['type'];
};
declare type SetAdvancedOptions = {
    type: 'setAdvancedOptions';
    options: AdvancedOptions;
};
declare type Action = SetSelectedFields | SetSelectedDataSets | SetTitle | SetType | SetAdvancedOptions;
export declare const useBuildDashboardFilter: (currentGlobalFilter: AdditionalFilter, allDataSets: Array<DataSetType>) => {
    selectedFieldIndexes: number[];
    selectedDataSetIndexes: number[];
    dataSetOptions: {
        label: string;
        value: string;
    }[];
    fieldOptions: MultiSelectOptions[];
    dispatch: React.Dispatch<Action>;
    globalFilter: AdditionalFilter;
};
export {};
