import { EventEmitter, Injector, OnInit, TemplateRef } from '@angular/core';
import { DataFormBase } from '../../../classes/base/data-form-base';
import { CrudListData, CrudListSetting, EventData } from '../../../classes/form-schema';
import { Action, DeadlineType, EnumActionType } from '../../../classes/workflow-schema';
import { UserGroupRealService } from '../../../services/user-group-real.service';
import { ControlTreeNode } from '../../crud/crud-form/crud-form.component';
import { EntityWorkflowSettingService } from '../services/entity-workflow-setting.service';
export declare const dataSourceIcon: {
    id: string;
    ten: string;
}[];
export declare class WorkflowSettingComponent extends DataFormBase implements OnInit {
    protected _injector: Injector;
    private _entityWorkflowSettingService;
    private _userGroupService;
    templateDropdownIcon: TemplateRef<any>;
    templateDropdownIconSelected: TemplateRef<any>;
    test: TemplateRef<any>;
    parentModel: CrudListData;
    parentSetting: CrudListSetting;
    onSaved: EventEmitter<any>;
    onCancel: EventEmitter<any>;
    statusDataSource: any[];
    jsonSetting: string;
    constructor(_injector: Injector, _entityWorkflowSettingService: EntityWorkflowSettingService, _userGroupService: UserGroupRealService);
    ngOnInit(): void;
    onFormInitialized(data: EventData): Promise<void>;
    getSetting(): Promise<void>;
    private reloadStatusSourceByData;
    private reloadStatusDataSource;
    private _getStatusDataSource;
    handleModelChanged(evt: EventData): void;
    handleChangedStatusType(evt: EventData): void;
    handleChangeOptionIsLoop(evt: EventData): void;
    copyQuyTrinh(): void;
    pasteQuyTrinh(): void;
    generateDefaultWorkflow(evt: any): void;
    generateWorkflowHasLoop(evt: any): void;
    createAction(ma: string, ten: string, icon: string, type: EnumActionType, batBuocDinhKem: boolean, openDialog: boolean, batBuocChonDonVi: boolean, trangThaiSauXuLy: string, targetStatus: string, deadlineType: DeadlineType, deadlineTime: number): Action;
    overrideData(data: any): void;
    moveUp(rootNode: ControlTreeNode, tablePath: string, rowIndex: number, funcUpdateModel: Function): void;
    moveDown(rootNode: ControlTreeNode, tablePath: string, rowIndex: number, funcUpdateModel: Function): void;
    getPromiseActionInsert(): Promise<import("../../../public-api").ResponseResult>;
    onBeforeSave(): Promise<boolean>;
    handleCancelWorkflow(event: any): void;
}
//# sourceMappingURL=workflow-setting.component.d.ts.map