import { ComputedRef, EmitFn, Ref } from 'vue'; import { default as useConfirmation } from '../../../composables/useConfirmation'; import { MetadataFilterRequest, UpsertPptxSlideImagesRequestPayload, UpsertPptxSlideImagesRequestParams, UpsertPptxSlideImagesResponse } from '../../../types/core'; import { CollectionPlayerWithPages, CollectionGroupWithPages } from '../types/model.type'; import { CollectionPage } from '../../collection-player/types/collection-player.type'; import { CanvasCreateRequest, CanvasRetrieve, PatchedCanvasUpdateRequest, Instance } from '../../../../types/openapi'; import { GetCanvasesParams } from '../../../types/canvases'; import { Emit } from '../App.vue'; import { PaginatedData } from '../../../types/paginatedData'; type ExistingSections = Record; export type Api = { createCanvas: (params: Omit) => Promise; deleteCanvas: (id: string) => Promise; getCanvases: (params: GetCanvasesParams & { filters?: Record; }) => Promise>; fetchMetadataFilter: (payload: MetadataFilterRequest) => Promise>; upsertPptxSlideImages: (params: UpsertPptxSlideImagesRequestParams, body: UpsertPptxSlideImagesRequestPayload) => Promise; updateCanvas: (payload: PatchedCanvasUpdateRequest & { id: CanvasRetrieve['id']; instance_id?: Instance['id']; fields?: string; }) => Promise; markFileAsConverted: (fileId: string) => Promise; }; type StorePayload = { initialCollection?: CollectionPlayerWithPages; t: (key: string, values?: Record) => string; confirmation: ReturnType; zIndex?: number; instanceId: string; api: Api; emit: EmitFn; fileTags?: string[]; }; type StoreData = { collection: Ref; expandedGroups: Ref; deleteGroup: (groupId: string, groupName: string) => void; updateGroup: (group: Partial> & Pick) => void; updateGroups: (groups: CollectionGroupWithPages[]) => void; updateSlides: (groupId: string, slides: CollectionPage[]) => void; updateCollectionName: (name: string) => void; updateGroupName: (groupId: string, name: string) => void; updateSlideName: (slideIndex: number, name: string) => void; deleteSlide: (groupId: string, slide: CollectionPage) => void; moveSlideToGroup: (fromGroup: string, toGroup: string, slide: CollectionPage) => void; childModalZIndex?: number; existingSections: Ref; api: Api; emit: EmitFn; isSaving: Ref; isInitialized: Ref; isDragDropDisabled: ComputedRef; }; export type SlideMetadata = { title: string; id: number; sequence: number; }; export declare function provideAppStore({ initialCollection, t, confirmation, zIndex, api, instanceId, emit, fileTags, }: StorePayload): { collection: Ref<{ groups: { id: string; name: string; slides: { id: string; type: "slide"; file: { metadata?: Record | undefined; readonly id: string; name?: string | undefined; readonly type: import('../../../../types/openapi').FileTypeEnum; tags?: Array | undefined; readonly thumbnail_url: string | null; permissions?: { can_download?: boolean | undefined; can_share?: boolean | undefined; } | undefined; readonly content_url: string | null; readonly content_type: import('../../../../types/openapi').FileContentTypeEnum; readonly pspdfkit_auth_payload: Record | null; readonly pspdfkit_document_id: string | null; readonly pspdfkit_server_url: string | null; }; slide: { index: number; url: import('../../../../types/openapi').FileRetrieve["thumbnail_url"]; }; }[]; }[]; filters?: Record | undefined; name: string; }, CollectionPlayerWithPages | { groups: { id: string; name: string; slides: { id: string; type: "slide"; file: { metadata?: Record | undefined; readonly id: string; name?: string | undefined; readonly type: import('../../../../types/openapi').FileTypeEnum; tags?: Array | undefined; readonly thumbnail_url: string | null; permissions?: { can_download?: boolean | undefined; can_share?: boolean | undefined; } | undefined; readonly content_url: string | null; readonly content_type: import('../../../../types/openapi').FileContentTypeEnum; readonly pspdfkit_auth_payload: Record | null; readonly pspdfkit_document_id: string | null; readonly pspdfkit_server_url: string | null; }; slide: { index: number; url: import('../../../../types/openapi').FileRetrieve["thumbnail_url"]; }; }[]; }[]; filters?: Record | undefined; name: string; }>; expandedGroups: Ref; childModalZIndex: number | undefined; deleteGroup: (groupId: string, groupName: string) => void; updateGroup: (group: Partial> & Pick) => void; updateGroups: (groups: CollectionGroupWithPages[]) => void; updateSlides: (groupId: string, slides: CollectionPage[]) => void; updateCollectionName: (name: string) => void; updateGroupName: (groupId: string, name: string) => void; deleteSlide: (groupId: string, slide: CollectionPage) => void; moveSlideToGroup: (fromGroup: string, toGroup: string, slide: CollectionPage) => void; existingSections: Ref; updateSlideName: (slideIndex: number, name: string) => void; api: Api; initialize: () => Promise; emit: ((event: "cancel") => void) & ((event: "close", args_0: CollectionPlayerWithPages) => void) & ((event: "contentChange", args_0: CollectionPlayerWithPages) => void); isInitialized: Ref; savePitcherSlides: () => Promise; saveAndClose: () => Promise; isSaving: Ref; isDragDropDisabled: ComputedRef; }; export declare function useAppStore(): StoreData; export {};