import { TextFieldProps } from '@material-ui/core';
import React from 'react';
import { DefaultEntityFilters } from '../../hooks/useEntityListProvider';
import { EntityFilter } from '../../types';
/** @public */
export type AllowedEntityFilters<T extends DefaultEntityFilters> = {
    [K in keyof T]-?: NonNullable<T[K]> extends EntityFilter & {
        values: string[];
    } ? K : never;
}[keyof T];
/** @public */
export type EntityAutocompletePickerProps<T extends DefaultEntityFilters = DefaultEntityFilters, Name extends AllowedEntityFilters<T> = AllowedEntityFilters<T>> = {
    label: string;
    name: Name;
    path: string;
    showCounts?: boolean;
    Filter: {
        new (values: string[]): NonNullable<T[Name]>;
    };
    InputProps?: TextFieldProps;
    initialSelectedOptions?: string[];
    filtersForAvailableValues?: Array<keyof T>;
};
/** @public */
export type CatalogReactEntityAutocompletePickerClassKey = 'root' | 'label';
/** @public */
export declare function EntityAutocompletePicker<T extends DefaultEntityFilters = DefaultEntityFilters, Name extends AllowedEntityFilters<T> = AllowedEntityFilters<T>>(props: EntityAutocompletePickerProps<T, Name>): React.JSX.Element | null;
