import { ProjectSchema, PageFile, BlockFile, BlockSchema, MaterialDescription, HistorySchema, HistoryItem, Service, StaticFileInfo, NodeFromPlugin, VTJConfig, ParseVueOptions } from '@vtj/core'; import { IStaticRequest } from '@vtj/utils'; export declare function createServiceRequest(notify?: (msg: string) => void): IStaticRequest; export declare class BaseService implements Service { req: IStaticRequest; protected api: (type: string, data: any, query?: any) => Promise; private pluginCaches; protected uploader: (file: File, projectId: string) => Promise; constructor(req?: IStaticRequest); getExtension(): Promise; init(project: ProjectSchema): Promise; saveProject(project: ProjectSchema, type?: string): Promise; saveMaterials(project: ProjectSchema, materials: Map): Promise; saveFile(file: BlockSchema): Promise; getFile(id: string): Promise; removeFile(id: string): Promise; saveHistory(history: HistorySchema): Promise; removeHistory(id: string): Promise; getHistory(id: string): Promise; getHistoryItem(fId: string, id: string): Promise; saveHistoryItem(fId: string, item: HistoryItem): Promise; removeHistoryItem(fId: string, ids: string[]): Promise; publish(project: ProjectSchema): Promise; publishFile(project: ProjectSchema, file: PageFile | BlockFile): Promise; genVueContent(project: ProjectSchema, dsl: BlockSchema): Promise; parseVue(project: ProjectSchema, options: ParseVueOptions): Promise; createRawPage(file: PageFile): Promise; removeRawPage(id: string): Promise; uploadStaticFile(file: File, projectId: string): Promise; getStaticFiles(projectId: string): Promise; removeStaticFile(name: string, projectId: string): Promise; clearStaticFiles(projectId: string): Promise; getPluginMaterial(from: NodeFromPlugin): Promise; genSource(project: ProjectSchema): Promise; }