import { MTableQueries } from "../../common-types/common";
import { AcaStudentEnrollment, AcaStudentEnrollmentBase } from "../../schema";
import { controllerResponse } from "../../utilities";
type IStudentEnrollmentErrorLogger = {
    [key in keyof MStudentEnrollment]: string;
};
type IStudentEnrollmentGetByIdErrorLogger = {
    [key in keyof MStudentEnrollmentGetByIdPayload]: string;
};
type IStudentEnrollmentDeleteErrorLogger = {
    [key in keyof MStudentEnrollmentDeletePayload]: string;
};
type IStudentEnrollmentInsertUpdateErrorLogger = {
    [key in keyof MStudentEnrollmentInsertUpdatePayload]: string;
};
declare class MStudentEnrollment extends MTableQueries {
    acen_id?: string;
    acen_student_id_auth?: string;
    acen_entity_id_syen?: string;
    acen_academic_year_id_acayr?: string;
    acen_class_program_id_acacpm?: string;
    acen_term_id_acapt?: string;
    acen_section_id_acapts?: string;
    acen_status_sygms?: string;
    acen_iscurrent?: boolean;
    acen_isactive?: boolean;
    constructor(init: MStudentEnrollment);
    Validate?(): Partial<IStudentEnrollmentErrorLogger>;
}
declare class MStudentEnrollmentGetByIdPayload {
    acen_id?: string;
    constructor(init: MStudentEnrollmentGetByIdPayload);
    Validate?(): Partial<IStudentEnrollmentGetByIdErrorLogger>;
}
declare class MStudentEnrollmentDeletePayload {
    acen_id?: string;
    constructor(init: MStudentEnrollmentDeletePayload);
    Validate?(): Partial<IStudentEnrollmentDeleteErrorLogger>;
}
declare class MStudentEnrollmentInsertUpdatePayload extends AcaStudentEnrollment {
    constructor(init: AcaStudentEnrollment);
    Validate?(): Partial<IStudentEnrollmentInsertUpdateErrorLogger>;
}
interface AcaStudentEnrollmentResponse extends Omit<AcaStudentEnrollmentBase, "acen_student_id_auth" | "acen_entity_id_syen" | "acen_academic_year_id_acayr" | "acen_class_program_id_acacpm" | "acen_term_id_acapt" | "acen_section_id_acapts" | "acen_status_sygms" | "acen_branch_id_acabrn"> {
    acen_student_id_auth?: {
        _id?: string;
        syus_name?: string;
        user_fullname?: string;
        syus_email?: string;
    };
    acen_entity_id_syen?: {
        _id?: string;
        syen_name?: string;
    };
    acen_academic_year_id_acayr?: {
        _id?: string;
        acayr_name?: string;
        acayr_code?: string;
    };
    acen_class_program_id_acacpm?: {
        _id?: string;
        acacpm_alise_title?: string;
    };
    acen_term_id_acapt?: {
        _id?: string;
        acapt_name?: string;
        acapt_code?: string;
    };
    acen_section_id_acapts?: {
        _id?: string;
        acapts_name?: string;
        acapts_code?: string;
    };
    acen_branch_id_acabrn?: {
        _id?: string;
        acabrn_name?: string;
        acabrn_code?: string;
    } | string;
    acen_status_sygms?: {
        _id?: string;
        sygms_title?: string;
        sygms_code?: string;
    } | string;
}
interface studentEnrollmentControllerResponse extends controllerResponse {
    data?: AcaStudentEnrollmentResponse[] | AcaStudentEnrollmentResponse | null;
    totalDocument?: number;
}
interface studentEnrollmentByIdControllerResponse extends controllerResponse {
    data?: AcaStudentEnrollmentResponse | null;
}
interface studentEnrollmentInsertUpdateControllerResponse extends controllerResponse {
    data?: AcaStudentEnrollmentResponse | null;
}
interface studentEnrollmentDeleteControllerResponse extends controllerResponse {
    data?: boolean;
}
export { IStudentEnrollmentErrorLogger, IStudentEnrollmentGetByIdErrorLogger, IStudentEnrollmentDeleteErrorLogger, IStudentEnrollmentInsertUpdateErrorLogger, MStudentEnrollment, MStudentEnrollmentGetByIdPayload, MStudentEnrollmentDeletePayload, MStudentEnrollmentInsertUpdatePayload, AcaStudentEnrollmentResponse, studentEnrollmentControllerResponse, studentEnrollmentByIdControllerResponse, studentEnrollmentInsertUpdateControllerResponse, studentEnrollmentDeleteControllerResponse };
