import { useFilterValue } from "../../hooks";
import type { ColumnFilterType, FilterableColumn as _FilterableColumn, FilterValueSchema } from "../../lib/types";
type FilterableColumn = Extract<_FilterableColumn, {
    type: ColumnFilterType.MULTI_SELECT | ColumnFilterType.SINGLE_SELECT;
}>;
type FilterableSelectColumn<T extends ColumnFilterType.MULTI_SELECT | ColumnFilterType.SINGLE_SELECT> = Extract<FilterableColumn, {
    type: T;
}>;
type FilterValue<T extends ColumnFilterType.MULTI_SELECT | ColumnFilterType.SINGLE_SELECT> = ReturnType<typeof useFilterValue<T, FilterValueSchema<T>>>;
export type BaseSelectFilterOptionsProps<T extends ColumnFilterType.MULTI_SELECT | ColumnFilterType.SINGLE_SELECT> = {
    column: FilterableSelectColumn<T>;
    filterValueSchema: FilterValueSchema<T>;
    isOptionSelected: (filterValue: FilterValue<T> | undefined, optionValue: string | number) => boolean;
    onOptionSelect: (column: FilterableSelectColumn<T>, currentFilterValue: FilterValue<T> | undefined, optionValue: string | number) => void;
    testIdPrefix: string;
};
export declare function BaseSelectFilterOptions<T extends ColumnFilterType.MULTI_SELECT | ColumnFilterType.SINGLE_SELECT>({ column, filterValueSchema, isOptionSelected, onOptionSelect, testIdPrefix, }: BaseSelectFilterOptionsProps<T>): JSX.Element;
export {};
//# sourceMappingURL=BaseSelectFilterOptions.d.ts.map