import { Ref, EmitFn, ComputedRef, ComponentPublicInstance } from 'vue'; import { default as useConfirmation } from '../../../composables/useConfirmation'; import { CollectionGroup, CollectionPlayer, CollectionSlide } from '../../collection-player/types/collection-player.type'; import { FetchFileList, SelectFileContent } from '../types/common.type'; import { FileRetrieve } from '../../../../types/openapi'; import { Translations } from '../types/collection-selector.type'; import { Emit } from '../App.vue'; import { useContentWarning } from '../composables/content-warning.use'; type StorePayload = { initialCollection?: CollectionPlayer; t: (key: string, values?: Record) => string; confirmation: ReturnType; selectFileContent: SelectFileContent; attachTo?: HTMLElement | string; openSettings?: () => void; closeOnSettings?: boolean; fetchFile: (id: string) => Promise; fetchFileList: FetchFileList; zIndex?: number; emit: EmitFn; translations?: Translations; contentRef: Ref; }; type StoreData = { collection: Ref; expandedGroups: Ref; usedFiles: Ref>; addGroup: (group?: Partial) => CollectionGroup | undefined; deleteGroup: (groupId: string, groupName: string) => void; updateGroup: (group: Partial> & Pick) => void; updateGroups: (groups: CollectionGroup[]) => void; updateSlides: (groupId: string, slides: CollectionSlide[]) => void; updateCollectionName: (name: string) => void; updateGroupName: (groupId: string, name: string) => void; deleteSlide: (groupId: string, slide: CollectionSlide) => void; addSlides: (groupId: string, filters?: Record) => Promise; moveSlideToGroup: (fromGroup: string, toGroup: string, slide: CollectionSlide) => void; selectFileContent: SelectFileContent; openSettings: () => void; closeOnSettings?: boolean; fetchFile: (id: string) => Promise; fetchFileList: FetchFileList; childModalZIndex?: number; cancel: () => void; saveAndClose: () => void; translations?: Translations; isSettingsButtonVisible: ComputedRef; contentWarning: ReturnType; isLoadingFiles: ComputedRef; areRequiredFilesLoaded: ComputedRef; }; export declare function provideAppStore({ initialCollection, t, confirmation, selectFileContent, attachTo, openSettings: openSettingsFn, closeOnSettings, fetchFile, fetchFileList, zIndex, emit, translations, contentRef, }: StorePayload): StoreData; export declare function useAppStore(): StoreData; export {};