import { Action, Store, Template, TemplateData, ZustandStoreGetter, ZustandStoreSetter } from '../types'; export declare const perPage = 3000; export declare const baseFields: string[]; export declare const DefaultEqualityFn: (a?: Template, b?: Template) => boolean; type CreateInitialStoreParam = Pick, 'appKey' | 'foldersEnabled' | 'userId' | 'publishEnabled' | 'appEntities' | 'reloadListOnOpen'> & Partial, 'presetTemplates' | 'templateIconColors' | 'templateIconMap' | 'defaultTemplateIcon' | 'defaultTemplateIconColor' | 'userProgramIds'>>; export declare const createInitialStore: ({ appKey, userId, foldersEnabled, publishEnabled, presetTemplates, templateIconMap, templateIconColors, defaultTemplateIcon, defaultTemplateIconColor, appEntities, userProgramIds, reloadListOnOpen, }: CreateInitialStoreParam) => (set: ZustandStoreSetter, get: ZustandStoreGetter) => Store; export declare const getTemplatesControlStoreApi: () => { useDefaultTemplateIcon: () => string; useTemplateIconMap: () => Record>; useTemplateIconColors: () => string[]; useTemplateMenuData: () => { anchorEl: HTMLElement | null | undefined; templateId: number; } | undefined; useFolderMenuData: () => { anchorEl: HTMLElement | null | undefined; folder: import("../types").TreeFolder; } | undefined; useFoldersEnabled: () => boolean; usePublishEnabled: () => boolean; useSelectedTemplateId: () => number | undefined; useIsInitialized: () => boolean; useIsPopoverOpen: () => boolean; useCanPublish: () => boolean; useDefaultTemplateIconColor: () => string; useConfirmationModalType: () => import("../types").ConfirmationModalType | undefined; useConfirmationCallback: () => (() => void) | undefined; useConfirmationTemplateId: () => number | undefined; useConfirmationFolder: () => import("../types").TreeFolder | undefined; useTemplateControls: () => import("react").ComponentType> | undefined; useSetOnChange: () => (value: ((template: Template | undefined, reason: "initialLoad" | "reloadList" | "deleteTemplate" | "selectTemplate") => void) | undefined) => void; useSetSearchString: () => (value: string | undefined) => void; useOpenTemplateMenu: () => (value: { anchorEl: HTMLElement | null | undefined; templateId: number; } | undefined) => void; useOpenFolderMenu: () => (value: { anchorEl: HTMLElement | null | undefined; folder: import("../types").TreeFolder; } | undefined) => void; useSetHooks: () => (value: { getDefaultTemplate?: ((templates: Template[], state: { currentTemplateId?: number; templateSettings?: T | undefined; event: "loadList" | "reloadList" | "deleteTemplate"; }) => Template | undefined) | undefined; filterInitialTemplates?: ((allTemplates: Template[]) => Template[] | Promise[]>) | undefined; }) => void; useSetTemplateControls: () => (value: import("react").ComponentType> | undefined) => void; useIsBusy: () => boolean; useHasCurrentAction: (id?: number | string, action?: Action) => boolean; useAllTemplates: () => Template[]; useHasUnsavedChanges: (templateId: number | undefined) => boolean; useTree: () => { folders: Record; tree: import("../types").TreeNode[]; pathMap: Record; }; useFolders: () => import("../types").TreeFolder[]; useTemplateIcon: (template?: Template) => import("react").ComponentType<{ color?: string; className?: string; size?: number; }>; useTemplateIconColor: (template?: Template) => string; useTemplateById: (templateId?: number) => Template | undefined; useSelectedTemplate: () => Template | undefined; useOpenPopover: () => () => Promise; useClosePopover: () => () => void; useCloseTemplateMenu: () => () => void; useCloseFolderMenu: () => () => void; useUpdateTemplateIcon: () => (id: number | undefined, update: Pick, "icon" | "iconColor">) => Promise | undefined>; useMoveToFolder: () => (id: number | undefined, folderPath: import("../types").TemplateMetaData["folderPath"]) => Promise; useUpdateTemplateName: () => (id: number | undefined, name: Template["name"]) => Promise; useSelectTemplate: () => (templateId?: number, force?: boolean) => Promise<{ settings: T; id: number; name: string; isPreset?: boolean; metadata?: import("../types").TemplateMetaData; published?: boolean; shared?: boolean; app_id?: number; company_id?: number; updated_at?: string; shared_with?: number[]; } | undefined>; useInitialize: () => void; useSetTemplateData: () => (templateId?: number, templateSettings?: T | undefined) => Promise; useCopyTemplate: (templateId?: number) => () => Promise; useCloseConfirmation: () => () => void; useRevertToOriginal: (template: Template) => () => void; useDeleteTemplate: (confirmationTargetTemplateId?: number) => () => void; useDeleteFolder: (confirmationTargetFolder?: import("../types").TreeFolder) => () => void; useUnfollowTemplate: (templateId?: number) => () => Promise; useCreateTemplate: () => (name: string) => Promise; useExportTemplate: (templateId?: number) => () => Promise; useImportTemplate: () => () => Promise; useUpdateFolderName: () => (folder?: import("../types").TreeFolder, name?: string) => Promise; useShareTemplate: () => (templateId: number | undefined, userIds: number[]) => Promise; usePublishTemplate: () => (templateId: number, rawName: string, { rigIds, programIds }: Pick) => Promise; }; export declare const storeApi: { useDefaultTemplateIcon: () => string; useTemplateIconMap: () => Record>; useTemplateIconColors: () => string[]; useTemplateMenuData: () => { anchorEl: HTMLElement | null | undefined; templateId: number; } | undefined; useFolderMenuData: () => { anchorEl: HTMLElement | null | undefined; folder: import("../types").TreeFolder; } | undefined; useFoldersEnabled: () => boolean; usePublishEnabled: () => boolean; useSelectedTemplateId: () => number | undefined; useIsInitialized: () => boolean; useIsPopoverOpen: () => boolean; useCanPublish: () => boolean; useDefaultTemplateIconColor: () => string; useConfirmationModalType: () => import("../types").ConfirmationModalType | undefined; useConfirmationCallback: () => (() => void) | undefined; useConfirmationTemplateId: () => number | undefined; useConfirmationFolder: () => import("../types").TreeFolder | undefined; useTemplateControls: () => import("react").ComponentType> | undefined; useSetOnChange: () => (value: ((template: Template | undefined, reason: "initialLoad" | "reloadList" | "deleteTemplate" | "selectTemplate") => void) | undefined) => void; useSetSearchString: () => (value: string | undefined) => void; useOpenTemplateMenu: () => (value: { anchorEl: HTMLElement | null | undefined; templateId: number; } | undefined) => void; useOpenFolderMenu: () => (value: { anchorEl: HTMLElement | null | undefined; folder: import("../types").TreeFolder; } | undefined) => void; useSetHooks: () => (value: { getDefaultTemplate?: ((templates: Template[], state: { currentTemplateId?: number; templateSettings?: object | undefined; event: "loadList" | "reloadList" | "deleteTemplate"; }) => Template | undefined) | undefined; filterInitialTemplates?: ((allTemplates: Template[]) => Template[] | Promise[]>) | undefined; }) => void; useSetTemplateControls: () => (value: import("react").ComponentType> | undefined) => void; useIsBusy: () => boolean; useHasCurrentAction: (id?: number | string, action?: Action) => boolean; useAllTemplates: () => Template[]; useHasUnsavedChanges: (templateId: number | undefined) => boolean; useTree: () => { folders: Record; tree: import("../types").TreeNode[]; pathMap: Record; }; useFolders: () => import("../types").TreeFolder[]; useTemplateIcon: (template?: Template) => import("react").ComponentType<{ color?: string; className?: string; size?: number; }>; useTemplateIconColor: (template?: Template) => string; useTemplateById: (templateId?: number) => Template | undefined; useSelectedTemplate: () => Template | undefined; useOpenPopover: () => () => Promise; useClosePopover: () => () => void; useCloseTemplateMenu: () => () => void; useCloseFolderMenu: () => () => void; useUpdateTemplateIcon: () => (id: number | undefined, update: Pick, "icon" | "iconColor">) => Promise | undefined>; useMoveToFolder: () => (id: number | undefined, folderPath: import("../types").TemplateMetaData["folderPath"]) => Promise; useUpdateTemplateName: () => (id: number | undefined, name: Template["name"]) => Promise; useSelectTemplate: () => (templateId?: number, force?: boolean) => Promise<{ settings: object; id: number; name: string; isPreset?: boolean; metadata?: import("../types").TemplateMetaData; published?: boolean; shared?: boolean; app_id?: number; company_id?: number; updated_at?: string; shared_with?: number[]; } | undefined>; useInitialize: () => void; useSetTemplateData: () => (templateId?: number, templateSettings?: object | undefined) => Promise; useCopyTemplate: (templateId?: number) => () => Promise; useCloseConfirmation: () => () => void; useRevertToOriginal: (template: Template) => () => void; useDeleteTemplate: (confirmationTargetTemplateId?: number) => () => void; useDeleteFolder: (confirmationTargetFolder?: import("../types").TreeFolder) => () => void; useUnfollowTemplate: (templateId?: number) => () => Promise; useCreateTemplate: () => (name: string) => Promise; useExportTemplate: (templateId?: number) => () => Promise; useImportTemplate: () => () => Promise; useUpdateFolderName: () => (folder?: import("../types").TreeFolder, name?: string) => Promise; useShareTemplate: () => (templateId: number | undefined, userIds: number[]) => Promise; usePublishTemplate: () => (templateId: number, rawName: string, { rigIds, programIds }: Pick) => Promise; }; export {}; //# sourceMappingURL=Store.d.ts.map