import { MTableQueries } from "../../common-types/common";
import { AcaClassProgramTerm, AcaClassProgramTermBase } from "../../schema";
import { controllerResponse } from "../../utilities";
type IClassProgramTermErrorLogger = {
    [key in keyof MClassProgramTerm]: string;
};
type IClassProgramTermGetByIdErrorLogger = {
    [key in keyof MClassProgramTermGetByIdPayload]: string;
};
type IClassProgramTermDeleteErrorLogger = {
    [key in keyof MClassProgramTermDeletePayload]: string;
};
type IClassProgramTermInsertUpdateErrorLogger = {
    [key in keyof MClassProgramTermInsertUpdatePayload]: string;
};
type IClassProgramTermToggleStatusErrorLogger = {
    [key in keyof MClassProgramTermToggleStatusPayload]: string;
};
type IClassProgramTermToggleLockErrorLogger = {
    [key in keyof MClassProgramTermToggleLockPayload]: string;
};
declare class MClassProgramTerm extends MTableQueries {
    acapt_class_program_id_acacpm?: string;
    acapt_class_prg_branch_acabrn: string;
    acapt_parent_class_prog_term_acapt?: string | null;
    acacpm_entity_id_syen?: string;
    constructor(init: MClassProgramTerm);
    Validate?(): Partial<IClassProgramTermErrorLogger>;
}
declare class MClassProgramTermGetByIdPayload {
    acapt_id?: string;
    constructor(init: MClassProgramTermGetByIdPayload);
    Validate?(): Partial<IClassProgramTermGetByIdErrorLogger>;
}
declare class MClassProgramTermDeletePayload {
    acapt_id?: string;
    constructor(init: MClassProgramTermDeletePayload);
    Validate?(): Partial<IClassProgramTermDeleteErrorLogger>;
}
declare class MClassProgramTermToggleStatusPayload {
    acapt_id?: string;
    constructor(init: MClassProgramTermToggleStatusPayload);
    Validate?(): Partial<IClassProgramTermToggleStatusErrorLogger>;
}
declare class MClassProgramTermToggleLockPayload {
    acapt_id?: string;
    constructor(init: MClassProgramTermToggleLockPayload);
    Validate?(): Partial<IClassProgramTermToggleLockErrorLogger>;
}
declare class MClassProgramTermInsertUpdatePayload extends AcaClassProgramTerm {
    constructor(init: AcaClassProgramTerm);
    Validate?(): Partial<IClassProgramTermInsertUpdateErrorLogger>;
}
interface AcaClassProgramTermReponse extends AcaClassProgramTermBase {
    acapt_class_program_id_acacpm?: {
        _id?: string;
        acacpm_name?: string;
    };
    acapt_parent_class_prog_term_acapt?: {
        _id?: string;
        acapt_name?: string;
    };
    acapt_class_prg_branch_acabrn?: {
        _id?: string;
        acabrn_name?: string;
    };
}
interface classProgramTermControllerResponse extends controllerResponse {
    data?: AcaClassProgramTermReponse[];
}
interface classProgramTermByIdControllerResponse extends controllerResponse {
    data?: AcaClassProgramTermReponse;
}
interface classProgramTermInsertUpdateControllerResponse extends controllerResponse {
    data?: AcaClassProgramTermReponse;
}
interface classProgramTermDeleteControllerResponse extends controllerResponse {
    data?: boolean;
}
interface classProgramTermToggleStatusControllerResponse extends controllerResponse {
    data?: boolean;
}
interface classProgramTermToggleLockControllerResponse extends controllerResponse {
    data?: boolean;
}
export { IClassProgramTermErrorLogger, IClassProgramTermGetByIdErrorLogger, IClassProgramTermDeleteErrorLogger, IClassProgramTermInsertUpdateErrorLogger, IClassProgramTermToggleStatusErrorLogger, IClassProgramTermToggleLockErrorLogger, MClassProgramTerm, MClassProgramTermGetByIdPayload, MClassProgramTermDeletePayload, MClassProgramTermInsertUpdatePayload, MClassProgramTermToggleStatusPayload, MClassProgramTermToggleLockPayload, classProgramTermControllerResponse, classProgramTermByIdControllerResponse, classProgramTermInsertUpdateControllerResponse, classProgramTermDeleteControllerResponse, classProgramTermToggleStatusControllerResponse, classProgramTermToggleLockControllerResponse, AcaClassProgramTermReponse };
