import type { INodeComponent } from '../../composables/useNode'; export declare const useTemplateStore: import("pinia").StoreDefinition<"template", Pick<{ state: import("vue").Ref<{ allTemplates: { templateAlias: string; templateId: string; created?: string | undefined; updatedAt?: string | undefined; publishedAt?: string | undefined; isPublished: boolean; predefined?: boolean | undefined; group?: string | null | undefined; }[]; selectedTemplate: { templateAlias: string; templateId: string; created?: string | undefined; updatedAt?: string | undefined; publishedAt?: string | undefined; isPublished: boolean; predefined?: boolean | undefined; group?: string | null | undefined; } | null; activeTemplateId: string; activeMemberTemplateId: string; }, ITemplateStore | { allTemplates: { templateAlias: string; templateId: string; created?: string | undefined; updatedAt?: string | undefined; publishedAt?: string | undefined; isPublished: boolean; predefined?: boolean | undefined; group?: string | null | undefined; }[]; selectedTemplate: { templateAlias: string; templateId: string; created?: string | undefined; updatedAt?: string | undefined; publishedAt?: string | undefined; isPublished: boolean; predefined?: boolean | undefined; group?: string | null | undefined; } | null; activeTemplateId: string; activeMemberTemplateId: string; }>; getAllTemplates: (businessId: string) => Promise; publishTemplate: (businessId: string, schema: INodeComponent[]) => Promise; getMainTemplateId: (businessId: string) => Promise; setSelectedTemplate: (templateId: ITemplateDetails['templateId']) => void; saveTemplate: (businessId: string, schema: INodeComponent[]) => Promise; setMainPageTemplate: (businessId: string, type?: 'member') => Promise; addNewTemplate: (config?: { id?: string; name?: string; predefined?: boolean; group?: string; }) => void; renameTemplate: (businessId: string, templateId: string, alias: string) => Promise; deleteTemplate: (businessId: string, templateId: string) => Promise; unpublishTemplate: (businessId: string, templateId?: string) => Promise; }, "state">, Pick<{ state: import("vue").Ref<{ allTemplates: { templateAlias: string; templateId: string; created?: string | undefined; updatedAt?: string | undefined; publishedAt?: string | undefined; isPublished: boolean; predefined?: boolean | undefined; group?: string | null | undefined; }[]; selectedTemplate: { templateAlias: string; templateId: string; created?: string | undefined; updatedAt?: string | undefined; publishedAt?: string | undefined; isPublished: boolean; predefined?: boolean | undefined; group?: string | null | undefined; } | null; activeTemplateId: string; activeMemberTemplateId: string; }, ITemplateStore | { allTemplates: { templateAlias: string; templateId: string; created?: string | undefined; updatedAt?: string | undefined; publishedAt?: string | undefined; isPublished: boolean; predefined?: boolean | undefined; group?: string | null | undefined; }[]; selectedTemplate: { templateAlias: string; templateId: string; created?: string | undefined; updatedAt?: string | undefined; publishedAt?: string | undefined; isPublished: boolean; predefined?: boolean | undefined; group?: string | null | undefined; } | null; activeTemplateId: string; activeMemberTemplateId: string; }>; getAllTemplates: (businessId: string) => Promise; publishTemplate: (businessId: string, schema: INodeComponent[]) => Promise; getMainTemplateId: (businessId: string) => Promise; setSelectedTemplate: (templateId: ITemplateDetails['templateId']) => void; saveTemplate: (businessId: string, schema: INodeComponent[]) => Promise; setMainPageTemplate: (businessId: string, type?: 'member') => Promise; addNewTemplate: (config?: { id?: string; name?: string; predefined?: boolean; group?: string; }) => void; renameTemplate: (businessId: string, templateId: string, alias: string) => Promise; deleteTemplate: (businessId: string, templateId: string) => Promise; unpublishTemplate: (businessId: string, templateId?: string) => Promise; }, never>, Pick<{ state: import("vue").Ref<{ allTemplates: { templateAlias: string; templateId: string; created?: string | undefined; updatedAt?: string | undefined; publishedAt?: string | undefined; isPublished: boolean; predefined?: boolean | undefined; group?: string | null | undefined; }[]; selectedTemplate: { templateAlias: string; templateId: string; created?: string | undefined; updatedAt?: string | undefined; publishedAt?: string | undefined; isPublished: boolean; predefined?: boolean | undefined; group?: string | null | undefined; } | null; activeTemplateId: string; activeMemberTemplateId: string; }, ITemplateStore | { allTemplates: { templateAlias: string; templateId: string; created?: string | undefined; updatedAt?: string | undefined; publishedAt?: string | undefined; isPublished: boolean; predefined?: boolean | undefined; group?: string | null | undefined; }[]; selectedTemplate: { templateAlias: string; templateId: string; created?: string | undefined; updatedAt?: string | undefined; publishedAt?: string | undefined; isPublished: boolean; predefined?: boolean | undefined; group?: string | null | undefined; } | null; activeTemplateId: string; activeMemberTemplateId: string; }>; getAllTemplates: (businessId: string) => Promise; publishTemplate: (businessId: string, schema: INodeComponent[]) => Promise; getMainTemplateId: (businessId: string) => Promise; setSelectedTemplate: (templateId: ITemplateDetails['templateId']) => void; saveTemplate: (businessId: string, schema: INodeComponent[]) => Promise; setMainPageTemplate: (businessId: string, type?: 'member') => Promise; addNewTemplate: (config?: { id?: string; name?: string; predefined?: boolean; group?: string; }) => void; renameTemplate: (businessId: string, templateId: string, alias: string) => Promise; deleteTemplate: (businessId: string, templateId: string) => Promise; unpublishTemplate: (businessId: string, templateId?: string) => Promise; }, "getAllTemplates" | "publishTemplate" | "getMainTemplateId" | "setSelectedTemplate" | "saveTemplate" | "setMainPageTemplate" | "addNewTemplate" | "renameTemplate" | "deleteTemplate" | "unpublishTemplate">>; interface ITemplateStore { /** List of all templates under current business */ allTemplates: ITemplateDetails[]; /** * Current selected template on the editor * * Changing values here will affect `allTemplates` * */ selectedTemplate: ITemplateDetails | null; /** Current business's mainpage */ activeTemplateId: string; /** Current business's main member page template */ activeMemberTemplateId: string; } export interface ITemplateDetails { /** User-defined template name */ templateAlias: string; /** Random uuid generated by system */ templateId: string; /** Created date in `ISO-8601` string, generated by system */ created?: string; /** Updated date in `ISO-8601` string, generated by system */ updatedAt?: string; /** Published date in `ISO-8601` string, generated by system */ publishedAt?: string; /** Whether template is published publicly */ isPublished: boolean; /** Whether template is a predefined template */ predefined?: boolean; /** Group of the template */ group?: string | null; } export {};