import { MTableQueries, MRequestMiddelware } from "../../common-types/common";
import { IAppUpdateDeploymentMst } from "../../schema/app/app_update_deployment_mst";
import { controllerResponse } from "../../utilities";
type IAppDeploymentErrorLogger = {
    [key in keyof MAppDeployment]: string;
};
type IAppDeploymentGetByIdErrorLogger = {
    [key in keyof MAppDeploymentGetByIdPayload]: string;
};
type IAppDeploymentInsertUpdateErrorLogger = {
    [key in keyof MAppDeploymentInsertUpdatePayload]: string;
};
declare class MAppDeployment extends MTableQueries {
    appdep_id?: string;
    appdep_version_id_appver?: string;
    appdep_status_id_sygms?: string;
    query?: string;
    constructor(init: MAppDeployment);
    Validate?(): Partial<IAppDeploymentErrorLogger>;
}
declare class MAppDeploymentGetByIdPayload implements MRequestMiddelware {
    appdep_id?: string;
    _id?: string;
    constructor(init: MAppDeploymentGetByIdPayload);
    Validate?(): Partial<IAppDeploymentGetByIdErrorLogger>;
}
declare class MAppDeploymentInsertUpdatePayload implements IAppUpdateDeploymentMst, MRequestMiddelware {
    _id?: string;
    appdep_version_id_appver?: string;
    appdep_deployment_type_id_sygms?: string;
    appdep_rollout_percentage?: number;
    appdep_target_users?: string[];
    appdep_start_date?: Date;
    appdep_end_date?: Date;
    appdep_status_id_sygms?: string;
    appdep_rollback_version_id_appver?: string;
    appdep_rollback_reason?: string;
    appdep_workflow_id_wfrg?: string;
    appdep_current_step?: number;
    appdep_created_by_id_auth?: string;
    appdep_created_at?: Date;
    appdep_updated_at?: Date;
    constructor(init: Partial<IAppUpdateDeploymentMst> & {
        _id?: string;
    });
    Validate?(): Partial<IAppDeploymentInsertUpdateErrorLogger>;
}
interface appDeploymentControllerResponse extends controllerResponse {
    data?: any[] | any | null;
    total?: number;
    totalDocument?: number;
}
interface appDeploymentByIdControllerResponse extends controllerResponse {
    data?: any | null;
}
interface appDeploymentInsertUpdateControllerResponse extends controllerResponse {
    data?: any | null;
}
export { MAppDeployment, MAppDeploymentGetByIdPayload, MAppDeploymentInsertUpdatePayload, appDeploymentControllerResponse, appDeploymentByIdControllerResponse, appDeploymentInsertUpdateControllerResponse };
