///
import { ArrayField, WixPatternsContainer, KeyedItem, SelectState, ToggleState } from '@wix/bex-core';
import { EventEmitter } from '@wix/bex-core/events';
import { FilterToolbarState } from '../providers';
export interface DropdownSelectStateParams {
container: WixPatternsContainer;
toolbar: FilterToolbarState;
select?: SelectState>;
filter: ArrayField;
}
export declare class DropdownSelectState {
readonly container: WixPatternsContainer;
readonly toolbar: FilterToolbarState;
readonly select: SelectState>;
readonly _filter: DropdownSelectStateParams['filter'];
readonly dropdown: ToggleState;
readonly events: EventEmitter;
constructor(params: DropdownSelectStateParams);
get filterKeyedItemsMap(): Map>;
get filter(): ArrayField;
get hasPendingFilter(): boolean;
toKeyedItem: (item: V, index: number) => {
id: string;
key: string;
item: V;
index: number;
indexWithinPage: number;
pageIndex: number;
};
get finalFilterKeyedItems(): {
id: string;
key: string;
item: V;
index: number;
indexWithinPage: number;
pageIndex: number;
}[];
get finalFilterKeyedItemsMap(): Map>;
get filterKeyedItems(): {
id: string;
key: string;
item: V;
index: number;
indexWithinPage: number;
pageIndex: number;
}[];
syncSelectedItems(): void;
syncSelectedItemsIfChanged(): void;
get selectedItems(): V[];
set(item: KeyedItem): void;
setSingle(item: KeyedItem): void;
clear(): void;
delete(item: KeyedItem): void;
deleteKey(key: string): void;
refreshIfChanged(options?: {
actionType?: 'add' | 'remove';
clickedValueKey?: string;
}): void;
close(): void;
closeAndChangeSelectedItems(): void;
init(): () => void;
}
//# sourceMappingURL=DropdownSelectState.d.ts.map