import { HttpClient } from '@angular/common/http';
import { Injector } from '@angular/core';
import { DownloadLinkService } from '../components/file-explorer/services/download-link.service';
import { FileExplorerService } from '../components/file-explorer/services/file-explorer.service';
import { ModuleConfig } from '../configs/module-config';
import { ExportManyModel, ExportModel } from '../models/export-file-info';
import { ExportItem } from '../models/export-item';
import { ExportWithoutTemplateModel } from '../models/export-without-template';
import { ResponseResult } from '../models/response-result';
import { BaseService } from './base.service';
import { CommonService } from './common.service';
import { CrudService } from './crud.service';
import { ModuleConfigService } from './module-config.service';
import { NotifierService } from './notifier.service';
import { PrintService } from './print.service';
export declare class TemplateInstanceService extends BaseService {
    private _httpClient;
    private _printService;
    protected _fileService: FileExplorerService;
    protected _notifierService: NotifierService;
    protected _crudService: CrudService;
    protected _commonService: CommonService;
    private _downloadLinkService;
    readonly environment: any;
    readonly _moduleConfig: ModuleConfig;
    serviceUri: string;
    constructor(_moduleConfigService: ModuleConfigService, _httpClient: HttpClient, _printService: PrintService, _fileService: FileExplorerService, _notifierService: NotifierService, _crudService: CrudService, _commonService: CommonService, _downloadLinkService: DownloadLinkService, injector: Injector);
    useV4(): void;
    /**
     * Xuất một file trực tiếp không, xong thì tự lưu xuống.
     * @param model
     */
    exportCxExcelByCode(model: ExportModel): Promise<void>;
    setFileInfo(model: ExportModel): void;
    /**
     * Xuất nhiều file, xong thì tự động tải về folder đã nén.
     * @param model
     */
    exportManyCxExcelByCode(model: ExportManyModel): Promise<void>;
    setManyFileInfo(manyModel: ExportManyModel): void;
    getFullFileName(fileName: any, extension?: string): string;
    /**
     * Xuất file excel không dùng template, tự động tải xuống.
     * @param model
     */
    exportCxExcel(model: ExportWithoutTemplateModel): Promise<void>;
    /**
     * Promise xuất file excel dùng signalR.
     * - Description: Export sử dung ClosedXml.Report (Cx) với signalR, sử dụng cho file dữ liệu lớn.
     * - Param: model chứa
     *      - code :  code của template cấu hình bên Quản trị > Biểu mẫu > Biểu mẫu excel.
     *      - data : object chứa dữ liệu đã chuyền thành dạng json.
     *      - fileName: tên file sau khi export.
     *      - topic: guid dùng để subscribe.
     */
    ExportCxExcelByCodeWithSignalR(model: ExportModel): Promise<ResponseResult>;
    /**
     * Promise xuất file excel không dùng signalR.
     * @param model
     */
    exportCxExcelByCodePromise(model: ExportModel): Promise<Object>;
    /**
     * Promise xuất file excel không dùng signalR và không dùng template.
     * @param model
     */
    exportCxExcelPromise(model: ExportWithoutTemplateModel): Promise<Object>;
    /**
     * Word
     * @param templateCode
     * @param data
     */
    fillTemplateByCodeAndGetPdf(templateCode: string, data: any): Promise<void>;
    /**
     * Word
     * @param templateCode
     * @param data
     */
    fillTemplateByCode(templateCode: string, data: any, name?: string): Promise<void>;
    fillTemplateByCodeAndExportPdf(templateCode: string, data: any, name?: string): Promise<void>;
    b64toBlob(b64Data: any, contentType?: string, sliceSize?: number): Blob;
    laTexToBase64Image(laTex: string, font?: number): Promise<ResponseResult>;
    _export(model: ExportItem): Promise<ResponseResult>;
    /**
     * Export a tree of folders, files using background job.
     * @param model
     */
    export(model: ExportItem): Promise<void>;
    _exportNormal(model: ExportItem): Promise<ResponseResult>;
    /**
     * Export a tree of folders, files directly.
     * @param data param để gen ra file excel
     * @param isViewOnline có dùng file viewer để view file online không
     */
    exportNormal(data: ExportItem, isViewOnline?: boolean): Promise<ResponseResult>;
    _exportMultiSheet(model: ExportItem): Promise<ResponseResult>;
    /**
     * Trả về excel file đã gen với template.
     * @param data dữ liệu đầu vào để gen template
     * @param isViewOnline có dùng file viewer để view file online không
     */
    exportMultiSheet(data: ExportItem, isViewOnline?: boolean): Promise<ResponseResult>;
}
//# sourceMappingURL=templateinstance.service.d.ts.map