/// <reference types="react" />
import { TagsModalState } from './TagsModalState';
import { FiltersMap, Tags, TagsManagementState, TaskState } from '@wix/bex-core';
import { TagsColumnConfig } from '../components/Tags/types';
import { ToolbarCollectionState } from './ToolbarCollectionState';
import { TagsBulkAssignPopoverState } from './TagsBulkAssignPopoverState';
import { Tags as TagsComponent, TagsProps } from '../components/Tags';
import { MoreActionItemFactory } from '../components/MoreActions/MoreActionsBase';
interface TagsCollectionStateParams<T, F extends FiltersMap> extends TagsProps<T, F> {
    toolbar: ToolbarCollectionState<T, F>;
    props?: TagsProps<T, F>;
    Tags: typeof TagsComponent;
}
export declare class TagsCollectionState<T, F extends FiltersMap> {
    readonly toolbar: ToolbarCollectionState<T, F>;
    readonly tagsManagementState: TagsManagementState;
    readonly tagsModalState: TagsModalState;
    readonly tagsBulkAssignPopoverState: TagsBulkAssignPopoverState<T, F>;
    readonly initTask: TaskState<unknown>;
    readonly props: TagsProps<T, F> | undefined;
    readonly Tags: {
        <T_1, F_1 extends FiltersMap>(props: TagsProps<T_1, F_1>): null;
        manageTagsPageAction: typeof import("../components/Tags/manageTagsPageAction").manageTagsPageAction;
    };
    readonly components: {
        AssignButton: (() => import("react").JSX.Element | null) & {
            displayName: string;
        };
        ManageModal: () => import("react").JSX.Element | null;
        CollectionToolbarFilters: ((props: import("../components/CollectionToolbarFilters").CollectionToolbarFiltersProps) => import("react").JSX.Element) & {
            displayName: string;
        };
    };
    readonly _columnConfig?: TagsColumnConfig<T>;
    readonly _getTags?: (item: T) => Tags;
    get featuredPageActions(): MoreActionItemFactory[];
    constructor({ entityTypeName, bulkUpdateTags, asyncBulkUpdateTags, toolbar, columnConfig, getTags, assignButtonConfig, props, Tags, }: TagsCollectionStateParams<T, F>);
    init(): () => void;
    buildTagsFilterWrapper(): import("react").JSX.Element;
    addTagsColumn(): void;
    openManageTagsModal(): void;
}
export {};
//# sourceMappingURL=TagsCollectionState.d.ts.map