import { type IAnalyticalBackend } from "@gooddata/sdk-backend-spi"; import { type IInsight } from "@gooddata/sdk-model"; import { type ITab } from "@gooddata/sdk-ui-kit"; /** * Tabs ids for insights paged list hook * @internal */ export interface ITabsIds { my: string; all: string; } /** * Config for useInsightPagedList hook * @internal */ export interface IUsePagedDropdownConfig { backend: IAnalyticalBackend; workspaceId: string; author: string | undefined; tabsIds: ITabsIds; tags?: string[]; excludeTags?: string[]; } /** * Result of useInsightPagedList hook * @internal */ export interface IUsePagedDropdownResult { items: IInsight[]; totalItemsCount: number | undefined; isLoading: boolean; isNextPageLoading: boolean; initialLoadCompleted: boolean; currentPage: number; search: string; selectedTabId: string; hasNextPage: boolean; skeletonItemsCount: number; fetchItems: (params: { page: number; search: string; tabId: string; resetItems?: boolean; }) => Promise; loadNextPage: () => void; onSearch: (searchString: string) => void; onTabSelect?: (tab: ITab) => void; reset: () => void; shouldLoadNextPage: (lastItemIndex: number, itemsCount: number) => boolean; loadInitialItems: () => void; resetItems: () => void; } /** * Hook to fetch insights paged list * @param backend - analytical backend * @param workspaceId - workspace id * @param author - author * @param tabsIds - tabs ids * @param tags - fetch only the insights with these tags * @param excludeTags - omit insights with these tags during fetch * @returns useInsightPagedList result * * @internal */ export declare function useInsightPagedList({ backend, workspaceId, author, tabsIds, tags, excludeTags }: IUsePagedDropdownConfig): IUsePagedDropdownResult; //# sourceMappingURL=useInsightPagedList.d.ts.map