import React from 'react';
import FilterPanelHeaderFactory from '../../side-panel/filter-panel/filter-panel-header';
import SourceSelectorFactory from '../../side-panel/common/source-selector';
import SourceDataSelectorFactory from '../../side-panel/common/source-data-selector';
import LayerTypeListItemFactory from '../../side-panel/layer-panel/layer-type-list-item';
declare function DatasetItemFactory(SourceSelector: any, FilterPanelHeader: any): ({ dataId, datasets, supportedFields, idx, filter, index, onRemoveSyncedFilter, filterDatasetsNum, datasetsWithTimeNum, onSelectSyncedDataset, onFieldSelector }: {
    dataId: any;
    datasets: any;
    supportedFields: any;
    idx: any;
    filter: any;
    index: any;
    onRemoveSyncedFilter: any;
    filterDatasetsNum: any;
    datasetsWithTimeNum: any;
    onSelectSyncedDataset: any;
    onFieldSelector: any;
}) => React.JSX.Element;
declare namespace DatasetItemFactory {
    var deps: (typeof FilterPanelHeaderFactory | typeof SourceSelectorFactory)[];
}
declare function LayerTimelineFactory(LayerTypeListItem: any): React.ForwardRefExoticComponent<import("styled-components").ExecutionProps & React.RefAttributes<({ layers, theme, onDelete }: {
    layers: any;
    theme: any;
    onDelete: any;
}) => React.JSX.Element>> & {};
declare namespace LayerTimelineFactory {
    var deps: (typeof LayerTypeListItemFactory)[];
}
declare function SyncedDatasetButtonFactory(): ({ onAddSyncedFilter }: {
    onAddSyncedFilter: any;
}) => React.JSX.Element;
declare function SyncLayerTimelineButtonFactory(): ({ onSyncLayerTimeline }: {
    onSyncLayerTimeline: any;
}) => React.JSX.Element;
declare function FilterSyncedDatasetPanelFactory(DatasetItem: any, LayerTimeline: any, SourceDataSelector: any, SyncedDatasetButton: any, SyncLayerTimelineButton: any): {
    ({ datasets, layers, filter, setFilter, idx, supportedFields, onFieldSelector, onSourceDataSelector, syncTimeFilterWithLayerTimeline }: {
        datasets: any;
        layers: any;
        filter: any;
        setFilter: any;
        idx: any;
        supportedFields: any;
        onFieldSelector: any;
        onSourceDataSelector: any;
        syncTimeFilterWithLayerTimeline: any;
    }): React.JSX.Element;
    displayName: string;
};
declare namespace FilterSyncedDatasetPanelFactory {
    var deps: (typeof SourceDataSelectorFactory | typeof DatasetItemFactory | typeof LayerTimelineFactory | typeof SyncedDatasetButtonFactory | typeof SyncLayerTimelineButtonFactory)[];
}
export default FilterSyncedDatasetPanelFactory;
