import { IUser, ITemplate, IPagination } from "../models"; export declare type ICreateTemplateDto = { title: string; content?: string; state?: Uint8Array; isPublic?: boolean; }; export declare abstract class ITemplateService { abstract createTemplate(data: ICreateTemplateDto, user?: IUser): Promise; abstract updateTemplate(id: ITemplate["id"], data: ICreateTemplateDto): Promise; abstract deleteTemplate(id: ITemplate["id"], data: ICreateTemplateDto): Promise; abstract getTemplateDetail(id: ITemplate["id"]): Promise; abstract getPrivateTemplates(pagination: IPagination, user?: IUser): Promise<{ data: ITemplate[]; total: number; }>; abstract getPublicTemplates(pagination: IPagination): Promise<{ data: ITemplate[]; total: number; }>; }