import { CollectionState, CollectionStateParams, DataResultRaw, FiltersMap, OptionalFiltersMap, WixPatternsContainer, stringFilter, ComputedQuery } from '@wix/bex-core'; import { ICollectionComponentState } from '../ICollectionComponentState'; import { ToolbarCollectionState } from '../ToolbarCollectionState'; import { KanbanDragEndItemEvent } from './KanbanDragEndEvent'; import { KanbanStageState } from './KanbanStageState'; import { KanbanDragAndDropState } from '../../components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop'; import { TypedEmitter } from '@wix/bex-core/events'; import { KanbanStateBIReporter } from './KanbanStateBIReporter'; export declare const KanbanComponentType = "TableKanbanSwitch"; export type stageType = 'DONE' | 'NONE'; export interface KanbanStateBaseParams { fqdn?: string; kanbanId: string; stages: { fetchData: CollectionStateParams['fetchData']; stageKey: CollectionStateParams['itemKey']; stageName: CollectionStateParams['itemName']; stageType?(stage: S): stageType; }; items: { fetchData: CollectionStateParams['fetchData']; itemKey: CollectionStateParams['itemKey']; itemName: CollectionStateParams['itemName']; stageField: string; filters?: F; fetchAllByStageIds?: (params: { ids: string[]; filters: ComputedQuery['filters']; search?: ComputedQuery['search']; }) => Promise>>; dragAndDrop?: { onSubmit?: (event: KanbanDragEndItemEvent) => Promise; }; create?: { navigateToEntityPage: ({ stage }: { stage: S; }) => void; title: string; }; }; } export interface KanbanStateParams extends KanbanStateBaseParams { readonly container: WixPatternsContainer; } export interface KanbanStateParamsAPI { readonly toolbar: ToolbarCollectionState; } export declare class KanbanState implements ICollectionComponentState, KanbanStateParamsAPI { readonly container: WixPatternsContainer; kanbanStageStates: Record; }>>; private stageStateDisposers; readonly toolbar: ToolbarCollectionState; readonly stagesCollectionState: CollectionState; readonly toolbarQueryCollectionState: CollectionState; readonly dragAndDropState: KanbanDragAndDropState; }>; readonly debouncedStagesRefresh: () => unknown; readonly stageType: KanbanStateBaseParams['stages']['stageType']; items: KanbanStateBaseParams['items']; isRefetching: boolean; isChangingFiltersValue: boolean; private stagesOptimisticActions; readonly events: TypedEmitter<{ scrollToStage: (params: { stageKey: string; }) => void; scrollToCardInStage: (params: { stageKey: string; cardKey: string; }) => void; }>; readonly kanbanStateBIReporter: KanbanStateBIReporter; readonly kanbanId: string; private _searchResultsBiEventCallback; constructor(params: KanbanStateParams); get query(): import("@wix/bex-core").QueryState; get filters(): import("@wix/bex-core").AllFilters; get queryComputed(): import("@wix/bex-core").ComputedQueryFull; triggerDebouncedStagesRefresh(): void; init(): Promise<() => void>; loadStages(): Promise; initializeStageStates(): Promise; get stages(): any[]; getStageState(stage: S): KanbanStageState; getStageStateByKey(stageKey: string): KanbanStageState; get isLoading(): boolean; get isLoadingStages(): boolean; isInSearchMode(): boolean | "" | undefined; isInFilterMode(): boolean; getIsChangingFiltersValue(): boolean; stageKey(stage: S): string; get hasStagesError(): boolean; refetchKanban(): Promise; showErrorToast(error: unknown): void; private createToolbarQueryCollectionState; private createStagesCollectionState; private fetchStagesData; private getStageIds; private processAllStages; private cleanupUnusedStageStates; private disposeStageState; private processCurrentStages; private createNewStageState; private updateExistingStageState; private getInitialPageData; private getStageIdFromItem; updateStage(originalStage: S, updatedStage: S): void; setStages(stages: S[]): void; createStage(stage: S): void; scrollToStage({ stageKey }: { stageKey: string; }): void; scrollToCardInStage({ stageKey, cardKey, }: { stageKey: string; cardKey: string; }): void; deleteStage(stage: S): void; reorderStages(fromIndex: number, toIndex: number): void; moveItemBetweenStages(originalItem: T, updatedItem: T, fromStageId: string, toStageId: string): void; deleteCard(card: T): void; createCard(card: T): void; updateCard(card: T): void; getStageIndexByKey(stageKey: string): number; getStageNameByKey(stageKey: string): string; getStageById(stageKey: string): S | undefined; } //# sourceMappingURL=KanbanState.d.ts.map