import type {
    Branch,
    Course,
    Enrollment,
    Period,
    Program,
    Student,
    Subject,
} from "./types";
export interface Batch {
    id: number;
    branch_id: number;
    level: string;
    academic_period_id: number;
    status: string;
    branch: Branch;
    period: Period;
    applications_count?: number;
}
export interface Evaluation {
    id?: number;
    source_school: string;
    source_subject: string;
    source_grade: string;
    source_credits: string;
    subject_id: number | null;
    decision: string;
    credited_units: string;
    completes_subject: boolean;
    reason: string;
    approved_at?: string | null;
    subject?: Subject;
}
export interface Quote {
    total_cents: number;
    currency: string;
    subjects: {
        class_id: number;
        code: string;
        name: string;
        credits: string;
        class_code: string;
        teacher: string;
        schedule: string;
        amount_cents: number;
        unit_lines: {
            unit_type: string;
            pricing_mode: string;
            credits: string;
            rate_cents: number;
            amount_cents: number;
        }[];
    }[];
}
export interface Application {
    can_remove?: boolean;
    admission_issue?: string | null;
    id: number;
    enrollment_batch_id: number;
    batch: Batch;
    student: Student;
    enrollment_id: number | null;
    enrollment: Enrollment | null;
    requestedProgram?: Program;
    requested_program_id: number | null;
    proposed_year: number | null;
    state: string;
    wizard_step: number;
    origin: string;
    is_transferee: boolean;
    transfer_requested: boolean;
    transfer_reason: string | null;
    evaluations: Evaluation[];
    assessment_completed_at: string | null;
    accounting_skipped: boolean;
    saved_at: string | null;
    quote_snapshot: Quote | null;
    pre_cor_snapshot: PreCor | null;
}
export interface PreCor {
    official: false;
    title: string;
    student_number: string;
    student_name: string;
    branch: string;
    school_year: string;
    period: string;
    course: string;
    curriculum: string;
    year_level: number;
    subjects: Quote["subjects"];
    assessment_cents: number;
    recorded_balance_cents: number;
    accounting_skipped: boolean;
    generated_at: string;
}
export interface PlanRow {
    subject_id: number;
    code: string;
    name: string;
    units: string;
    classification: string | null;
    status: string;
    issues: string[];
    default_class_id: number | null;
}
export interface Eligibility {
    academic_issues: string[];
    warnings: string[];
    financial_cleared: boolean;
    ready: boolean;
}
