import { MTableQueries, MRequestMiddelware } from "../../common-types/common";
import { ICoreWorkflowRegistry } from "../../schema/core/core_workflow_registry";
import { controllerResponse } from "../../utilities";
import { MWorkflowConfigInsertUpdatePayload, MWorkflowStepInsertUpdatePayload } from "./core_workflow_config";
type IWorkflowRegistryErrorLogger = {
    [key in keyof MWorkflowRegistry]: string;
};
type IWorkflowRegistryGetByIdErrorLogger = {
    [key in keyof MWorkflowRegistryGetByIdPayload]: string;
};
type IWorkflowRegistryDeleteErrorLogger = {
    [key in keyof MWorkflowRegistryDeletePayload]: string;
};
type IWorkflowRegistryInsertUpdateErrorLogger = {
    [key in keyof MWorkflowRegistryInsertUpdatePayload]: string;
};
declare class MWorkflowRegistry extends MTableQueries {
    wfrg_id?: string;
    wfrg_workflow_code?: string;
    wfrg_title?: string;
    wfrg_desc?: string;
    wfrg_category_id_sygms?: string;
    wfrg_entity_id_syen?: string;
    wfrg_page_id_sypg?: string;
    wfrg_menu_id_syme?: string;
    wfrg_component_selector?: string;
    wfrg_component_path?: string;
    wfrg_query_params?: any;
    wfrg_view_mode_id_sygms?: string;
    wfrg_trigger_type_id_sygms?: string;
    wfrg_trigger_condition?: any;
    wfrg_auto_initialize?: boolean;
    wfrg_isactive?: boolean;
    wfrg_valid_from_date?: Date;
    wfrg_valid_to_date?: Date;
    wfrg_reinitialize_on_edit?: boolean;
    wfrg_notify_approvers_on_final_status?: boolean;
    wfrg_show_approver_names?: boolean;
    wfrg_mask_approver_info?: boolean;
    wfrg_target_status_field?: string;
    wfrg_initial_status?: string;
    wfrg_final_status?: string;
    query?: string;
    constructor(init: MWorkflowRegistry);
    Validate?(): Partial<IWorkflowRegistryErrorLogger>;
}
declare class MWorkflowRegistryGetByIdPayload implements MRequestMiddelware {
    wfrg_id?: string;
    _id?: string;
    constructor(init: MWorkflowRegistryGetByIdPayload);
    Validate?(): Partial<IWorkflowRegistryGetByIdErrorLogger>;
}
declare class MWorkflowRegistryDeletePayload implements MRequestMiddelware {
    wfrg_id?: string;
    _id?: string;
    constructor(init: MWorkflowRegistryDeletePayload);
    Validate?(): Partial<IWorkflowRegistryDeleteErrorLogger>;
}
declare class MWorkflowRegistryInsertUpdatePayload implements ICoreWorkflowRegistry, MRequestMiddelware {
    _id?: string;
    wfrg_workflow_code?: string;
    wfrg_title?: string;
    wfrg_desc?: string;
    wfrg_category_id_sygms?: string;
    wfrg_entity_id_syen?: string;
    wfrg_page_id_sypg?: string;
    wfrg_menu_id_syme?: string;
    wfrg_component_selector?: string;
    wfrg_component_path?: string;
    wfrg_query_params?: Record<string, any>;
    wfrg_view_mode_id_sygms?: string;
    wfrg_trigger_type_id_sygms?: string;
    wfrg_trigger_condition?: string;
    wfrg_auto_initialize?: boolean;
    wfrg_isactive?: boolean;
    wfrg_valid_from_date?: Date;
    wfrg_valid_to_date?: Date;
    wfrg_reinitialize_on_edit?: boolean;
    wfrg_notify_approvers_on_final_status?: boolean;
    wfrg_show_approver_names?: boolean;
    wfrg_mask_approver_info?: boolean;
    wfrg_target_status_field?: string;
    wfrg_initial_status?: string;
    wfrg_final_status?: string;
    wfrg_configuration?: Record<string, any>;
    constructor(init: Partial<ICoreWorkflowRegistry> & {
        _id?: string;
    });
    Validate?(): Partial<IWorkflowRegistryInsertUpdateErrorLogger>;
}
declare class MWorkflowRegistryByPagePayload implements MRequestMiddelware {
    wfrg_page_id_sypg?: string;
    wfrg_entity_id_syen?: string;
    constructor(init: MWorkflowRegistryByPagePayload);
    Validate?(): any;
}
declare class MWorkflowRegistryByMenuPayload implements MRequestMiddelware {
    wfrg_menu_id_syme?: string;
    wfrg_entity_id_syen?: string;
    constructor(init: MWorkflowRegistryByMenuPayload);
    Validate?(): any;
}
declare class MWorkflowBulkSavePayload implements MRequestMiddelware {
    registry: MWorkflowRegistryInsertUpdatePayload;
    configuration: MWorkflowConfigInsertUpdatePayload;
    steps?: MWorkflowStepInsertUpdatePayload[];
    constructor(init: MWorkflowBulkSavePayload);
    Validate?(): any;
}
declare class MWorkflowRegistryByCategoryPayload implements MRequestMiddelware {
    wfrg_category_id_sygms?: string;
    wfrg_entity_id_syen?: string;
    constructor(init: MWorkflowRegistryByCategoryPayload);
    Validate?(): any;
}
interface workflowRegistryControllerResponse extends controllerResponse {
    data?: any[] | any | null;
    total?: number;
    totalDocument?: number;
}
interface workflowRegistryByIdControllerResponse extends controllerResponse {
    data?: any | null;
}
interface workflowRegistryInsertUpdateControllerResponse extends controllerResponse {
    data?: any | null;
}
interface workflowRegistryDeleteControllerResponse extends controllerResponse {
    data?: any | null;
}
interface workflowBulkSaveControllerResponse extends controllerResponse {
    data?: {
        registryId: string;
        configId?: string;
        stepIds?: string[];
    } | null;
}
export { MWorkflowRegistry, MWorkflowRegistryGetByIdPayload, MWorkflowRegistryDeletePayload, MWorkflowRegistryInsertUpdatePayload, MWorkflowRegistryByPagePayload, MWorkflowRegistryByMenuPayload, MWorkflowRegistryByCategoryPayload, MWorkflowBulkSavePayload, workflowRegistryControllerResponse, workflowRegistryByIdControllerResponse, workflowRegistryInsertUpdateControllerResponse, workflowRegistryDeleteControllerResponse, workflowBulkSaveControllerResponse };
