import { type ContentTransformer } from "../TemplateEditor/store"; import { type TemplateError } from "@/lib/utils/errors"; import { type DuplicateTemplateOptions, type DuplicateTemplateResult } from "./api"; export type { ContentTransformer, DuplicateTemplateOptions, DuplicateTemplateResult }; export declare function useTemplateActions(): { getTemplate: (options?: { includeBrand?: boolean; } | undefined) => Promise; saveTemplate: (options?: import("./api").SaveTemplateOptions | import("./store").MessageRouting | undefined) => Promise; publishTemplate: () => Promise; duplicateTemplate: (options?: DuplicateTemplateOptions | undefined) => Promise; isTemplateLoading: boolean | null; setIsTemplateLoading: (args_0: boolean | ((prev: boolean | null) => boolean | null) | null) => void; isTemplateSaving: boolean | null; setIsTemplateSaving: (args_0: boolean | ((prev: boolean | null) => boolean | null) | null) => void; isTemplatePublishing: boolean | null; setIsTemplatePublishing: (args_0: boolean | ((prev: boolean | null) => boolean | null) | null) => void; templateError: TemplateError | null; setTemplateError: (error: string | TemplateError | null) => void; templateData: import("./store").TenantData | null; setTemplateData: (args_0: import("./store").TenantData | ((prev: import("./store").TenantData | null) => import("./store").TenantData | null) | null) => void; templateEditorContent: import("../..").ElementalContent | null | undefined; setTemplateEditorContent: (content: import("../..").ElementalContent | null | undefined) => void; createCustomError: (message: string, toastProps?: import("sonner").ExternalToast) => TemplateError; convertLegacyError: (error: string | TemplateError) => TemplateError; /** * @internal Experimental API - subject to change * Synchronous function to transform content before it's stored in the atom. * Useful for adding metadata (e.g., locales) that shouldn't affect editor display. * * @example * ```ts * setContentTransformer((content) => ({ * ...content, * elements: content.elements?.map(el => ({ * ...el, * locales: { 'fr': { content: translateToFrench(el.content) } } * })) * })); * ``` */ contentTransformer: ContentTransformer | null; setContentTransformer: (args_0: ContentTransformer | ((prev: ContentTransformer | null) => ContentTransformer | null) | null) => void; };