import { PropertyMeta } from "../../core/property-meta";
import { BaseODataFilter } from "../../../../fd-toolbox/odata/filters/base-odata-filter";
import { WithId } from "../../../../fd-toolbox-core/types/resource-with-id";
import { SetStateFunc, VoidFunc, VoidFuncNoParam } from "../../../../fd-toolbox/functions/internal-getter-setter-functions";
import { ResourceMeta } from "../../core/resource-meta";
import { UseFormReturn } from "react-hook-form";
import { WithIndexer } from "../../../../fd-toolbox-core/types/with-indexer";
import type { FocusEventType, KeyboardEventType, RefObjectType } from "../../../../fd-toolbox/types/react-types";
import { WithOpen } from "../../../../fd-toolbox/types/ref-object";
export declare function onInitFilter(state: BaseODataFilter, displayName: string, setDisplayName: VoidFunc<string>, propertyMeta: PropertyMeta, setFilterOperatorType: VoidFunc<string>, setSelectedResourceIds: VoidFunc<string[]>, setDisplayDate: VoidFunc<string>): void;
export declare function shouldFilterInputBeVisible(stateFilterInput: BaseODataFilter): boolean;
export declare function onBrowserChanged(selectedResources: WithId[], propertyMeta: PropertyMeta, state: BaseODataFilter, filterOperatorType: string, setState: VoidFunc<BaseODataFilter>, setDisabled: VoidFunc<boolean>, setDisableEnumFilter: VoidFunc<boolean>, setSelectedResourceIds: VoidFunc<string[]>, form: UseFormReturn<WithIndexer<string>>, resourceMeta: ResourceMeta, onChange?: VoidFuncNoParam, setIsInputShowed?: VoidFunc<boolean>): Promise<void>;
export declare function onDateChange(state: BaseODataFilter, onStateChange: VoidFunc<BaseODataFilter>, filterOperatorType: string, setDisabled: VoidFunc<boolean>, setDisableEnumFilter: VoidFunc<boolean>, setIsInputShowed: VoidFunc<boolean>, date?: Date, onChange?: VoidFuncNoParam): Promise<void>;
export declare function isIntegerField(propertyMeta: PropertyMeta): boolean;
export declare function disableFilterInput(filterOperatorType: string): filterOperatorType is "empty";
export declare function onFilterChange(state: BaseODataFilter, setState: VoidFunc<BaseODataFilter>, filterOperatorType: string, setDisabled: VoidFunc<boolean>, setDisableEnumFilter: VoidFunc<boolean>, setFilterOperatorType?: VoidFunc<string>, onChange?: VoidFuncNoParam, shouldRestoreFocus?: {
    current: boolean;
}, setIsInputShowed?: (v: boolean) => void): Promise<void>;
export declare function getFilterDisplayValues(state: BaseODataFilter, propertyMeta: PropertyMeta): any;
export declare function onOperatorTypeChange(state: BaseODataFilter, onStateChange: VoidFunc<BaseODataFilter>, setFilterOperatorType: VoidFunc<string>, setDisabled: VoidFunc<boolean>, setDisableEnumFilter: VoidFunc<boolean>, onChange?: VoidFuncNoParam, value?: string): Promise<void>;
export declare function onInputBlur(value: string, event: FocusEventType<HTMLInputElement>, setIsInputShowed: VoidFunc<boolean>, filterContainerRef?: RefObjectType<HTMLDivElement>): void;
export declare function updateFilterWidthContainer(filterDisplayNameRef: RefObjectType, isInputVisible: boolean, setFilterContainerWidth: SetStateFunc<number | undefined>): void;
export declare function showFieldFilter(disabled: boolean, setIsInputShowed: VoidFunc<boolean>, inputRef: RefObjectType<HTMLInputElement>, buttonRef: RefObjectType<HTMLButtonElement>, openTriggerRef: RefObjectType<WithOpen>, propertyMeta: PropertyMeta, inputId?: string): void;
export declare function onFilterKeyDown(event: KeyboardEventType, isSimpleInput: boolean, onOpenFieldFilter: VoidFuncNoParam): void;
export declare function isSimpleFilterInput(propertyMeta: PropertyMeta): boolean;
export declare function onFilterOpenChange(open: boolean, shouldRestoreFocus: RefObjectType<boolean>, rightHandResult: string, setIsInputShowed?: VoidFunc<boolean>): void;
export declare function onCreateOnRightHandChange(state: BaseODataFilter, onStateChange: VoidFunc<BaseODataFilter>, filterOperatorType: string, setDisabled: VoidFunc<boolean>, setDisableEnumFilter: VoidFunc<boolean>, setFilterOperatorType: VoidFunc<string>, shouldRestoreFocus: {
    current: boolean;
}, onChange?: VoidFuncNoParam, setIsInputShowed?: (v: boolean) => void): (value?: string | string[]) => Promise<void>;
export declare function createOnOperatorTypeChange(state: BaseODataFilter, onStateChange: VoidFunc<BaseODataFilter>, setFilterOperatorType: VoidFunc<string>, setDisabled: VoidFunc<boolean>, setDisableEnumFilter: VoidFunc<boolean>, onChange?: VoidFuncNoParam): (value?: string) => void;
export declare function createOnShowFieldFilter(disabled: boolean, setIsInputShowed: VoidFunc<boolean>, inputRef: RefObjectType<HTMLInputElement>, buttonRef: RefObjectType<HTMLButtonElement>, openTriggerRef: RefObjectType<WithOpen>, propertyMeta: PropertyMeta, inputId?: string): () => void;
export declare function createOnGuidFilterClose(shouldRestoreFocus: {
    current: boolean;
}, setIsInputShowed?: (v: boolean) => void): () => void;
