import { Field, Filter } from '@kepler.gl/types';
import { GpuFilter } from './kepler-table';
/**
 * Set gpu mode based on current number of gpu filters exists
 */
export declare function setFilterGpuMode(filter: Filter, filters: Filter[]): Filter;
/**
 * Scan though all filters and assign gpu chanel to gpu filter
 */
export declare function assignGpuChannels(allFilters: Filter[]): Filter[];
/**
 * Assign a new gpu filter a channel based on first availability
 */
export declare function assignGpuChannel(filter: Filter, filters: Filter[]): Filter;
/**
 * Edit filter.gpu to ensure that only
 * X number of gpu filers can coexist.
 */
export declare function resetFilterGpuMode(filters: Filter[]): Filter[];
/**
 * Get filter properties for gpu filtering
 */
export declare function getGpuFilterProps(filters: Filter[], dataId: string, fields: Field[], oldGpuFilter?: GpuFilter): GpuFilter;
/**
 * Return dataset field index from filter.fieldIdx
 * The index matches the same dataset index for filter.dataId
 */
export declare function getDatasetFieldIndexForFilter(dataId: string, filter: Filter): number;
