import z from "zod";
//#region src/models/approval/Approval.d.ts
declare const ApprovalSchema: z.ZodObject<{
  id: z.ZodUUID;
  number: z.ZodOptional<z.ZodString>;
  applicationName: z.ZodString;
  type: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
    Batch: "Batch";
    Single: "Single";
  }>>>;
  status: z.ZodEnum<{
    Approved: "Approved";
    Cancelled: "Cancelled";
    PartiallyApproved: "PartiallyApproved";
    Rejected: "Rejected";
    WaitingForApproval: "WaitingForApproval";
    Withdrawn: "Withdrawn";
  }>;
  created: z.ZodDate;
  createdBy: z.ZodCustom<{
    employeeId: string;
    name: string;
    email: string;
  }, {
    employeeId: string;
    name: string;
    email: string;
  }>;
  updated: z.ZodOptional<z.ZodDate>;
  updatedBy: z.ZodOptional<z.ZodCustom<{
    employeeId: string;
    name: string;
    email: string;
  }, {
    employeeId: string;
    name: string;
    email: string;
  }>>;
  approvalFlows: z.ZodArray<z.ZodCustom<{
    id: string;
    approvalStage: number;
    batchSequence?: number | undefined;
    approvalSequence: number;
    stepApprovalOrder: "OneOfThem" | "Parallel" | "Serial";
    steps: {
      id: string;
      order: number;
      approverRole?: string | undefined;
      approver: {
        employeeId: string;
        name: string;
        email: string;
      };
      actualApprover?: {
        employeeId: string;
        name: string;
        email: string;
      } | undefined;
      result?: "Approved" | "Cancelled" | "FutureApproval" | "NotAvailable" | "Rejected" | "Skipped" | "WaitingForApproval" | "Withdrawn" | undefined;
      resultDate?: Date | undefined;
      resultComment?: string | undefined;
    }[];
    isActive?: boolean | undefined;
  }, {
    id: string;
    approvalStage: number;
    batchSequence?: number | undefined;
    approvalSequence: number;
    stepApprovalOrder: "OneOfThem" | "Parallel" | "Serial";
    steps: {
      id: string;
      order: number;
      approverRole?: string | undefined;
      approver: {
        employeeId: string;
        name: string;
        email: string;
      };
      actualApprover?: {
        employeeId: string;
        name: string;
        email: string;
      } | undefined;
      result?: "Approved" | "Cancelled" | "FutureApproval" | "NotAvailable" | "Rejected" | "Skipped" | "WaitingForApproval" | "Withdrawn" | undefined;
      resultDate?: Date | undefined;
      resultComment?: string | undefined;
    }[];
    isActive?: boolean | undefined;
  }>>;
  currentApprovers: z.ZodArray<z.ZodCustom<{
    employeeId: string;
    name: string;
    email: string;
  }, {
    employeeId: string;
    name: string;
    email: string;
  }>>;
  coRequestors: z.ZodOptional<z.ZodArray<z.ZodObject<{
    id: z.ZodUUID;
    principal: z.ZodUnion<readonly [z.ZodObject<{
      role: z.ZodString;
      email: z.ZodEmail;
    }, z.core.$strip>, z.ZodObject<{
      employeeId: z.ZodString;
      name: z.ZodString;
      email: z.ZodEmail;
    }, z.core.$strip>]>;
    permissions: z.ZodObject<{
      withdraw: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
      cancel: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    }, z.core.$strip>;
  }, z.core.$strip>>>;
}, z.core.$strip>;
type Approval = z.infer<typeof ApprovalSchema>;
declare const CreateApprovalSchema: z.ZodObject<{
  id: z.ZodUUID;
  number: z.ZodOptional<z.ZodString>;
  applicationName: z.ZodString;
  type: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
    Batch: "Batch";
    Single: "Single";
  }>>>;
  status: z.ZodEnum<{
    Approved: "Approved";
    Cancelled: "Cancelled";
    PartiallyApproved: "PartiallyApproved";
    Rejected: "Rejected";
    WaitingForApproval: "WaitingForApproval";
    Withdrawn: "Withdrawn";
  }>;
  emailBody: z.ZodString;
  hqApprovalRequest: z.ZodOptional<z.ZodObject<{
    header: z.ZodOptional<z.ZodObject<{
      serviceId: z.ZodOptional<z.ZodString>;
      authorizationCode: z.ZodOptional<z.ZodString>;
      dataCreatedTime: z.ZodOptional<z.ZodString>;
      characterEnable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    }, z.core.$strip>>;
    formData: z.ZodOptional<z.ZodObject<{
      systemId: z.ZodOptional<z.ZodString>;
      formType: z.ZodOptional<z.ZodString>;
      formId: z.ZodOptional<z.ZodString>;
      stepName: z.ZodOptional<z.ZodString>;
      userId: z.ZodOptional<z.ZodString>;
      title: z.ZodOptional<z.ZodString>;
      subject: z.ZodOptional<z.ZodString>;
      summary: z.ZodOptional<z.ZodObject<{
        page: z.ZodArray<z.ZodObject<{
          section: z.ZodArray<z.ZodObject<{
            row: z.ZodArray<z.ZodObject<{
              col: z.ZodArray<z.ZodObject<{
                title: z.ZodOptional<z.ZodString>;
                text: z.ZodOptional<z.ZodString>;
                textColor: z.ZodOptional<z.ZodString>;
                textSize: z.ZodOptional<z.ZodString>;
              }, z.core.$strip>>;
            }, z.core.$strip>>;
            title: z.ZodOptional<z.ZodString>;
            type: z.ZodOptional<z.ZodString>;
            text: z.ZodOptional<z.ZodString>;
          }, z.core.$strip>>;
        }, z.core.$strip>>;
      }, z.core.$strip>>;
      messageId: z.ZodOptional<z.ZodString>;
      attachList: z.ZodOptional<z.ZodString>;
      chkResult: z.ZodOptional<z.ZodString>;
      apprSummary: z.ZodOptional<z.ZodString>;
      approvalComment: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
  }, z.core.$strip>>;
  approvalFlows: z.ZodArray<z.ZodObject<{
    approvalStage: z.ZodNumber;
    batchSequence: z.ZodOptional<z.ZodNumber>;
    stepApprovalOrder: z.ZodEnum<{
      OneOfThem: "OneOfThem";
      Parallel: "Parallel";
      Serial: "Serial";
    }>;
    steps: z.ZodArray<z.ZodObject<{
      approverRole: z.ZodOptional<z.ZodDefault<z.ZodString>>;
      approver: z.ZodObject<{
        employeeId: z.ZodString;
        name: z.ZodString;
        email: z.ZodEmail;
      }, z.core.$strip>;
    }, z.core.$strip>>;
  }, z.core.$strip>>;
  coRequestors: z.ZodOptional<z.ZodArray<z.ZodObject<{
    id: z.ZodUUID;
    principal: z.ZodUnion<readonly [z.ZodObject<{
      role: z.ZodString;
      email: z.ZodEmail;
    }, z.core.$strip>, z.ZodObject<{
      employeeId: z.ZodString;
      name: z.ZodString;
      email: z.ZodEmail;
    }, z.core.$strip>]>;
    permissions: z.ZodObject<{
      withdraw: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
      cancel: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    }, z.core.$strip>;
  }, z.core.$strip>>>;
}, z.core.$strip>;
type CreateApproval = z.infer<typeof CreateApprovalSchema>;
declare const ApproveApprovalSchema: z.ZodObject<{
  id: z.ZodUUID;
  result: z.ZodEnum<{
    Approved: "Approved";
    Cancelled: "Cancelled";
    FutureApproval: "FutureApproval";
    NotAvailable: "NotAvailable";
    Rejected: "Rejected";
    Skipped: "Skipped";
    WaitingForApproval: "WaitingForApproval";
    Withdrawn: "Withdrawn";
  }>;
  resultComment: z.ZodOptional<z.ZodString>;
  emailBody: z.ZodString;
}, z.core.$strip>;
type ApproveApproval = z.infer<typeof ApproveApprovalSchema>;
declare const ResubmitApprovalSchema: z.ZodObject<{
  id: z.ZodUUID;
  approvalFlows: z.ZodArray<z.ZodObject<{
    approvalStage: z.ZodNumber;
    batchSequence: z.ZodOptional<z.ZodNumber>;
    stepApprovalOrder: z.ZodEnum<{
      OneOfThem: "OneOfThem";
      Parallel: "Parallel";
      Serial: "Serial";
    }>;
    steps: z.ZodArray<z.ZodObject<{
      approverRole: z.ZodOptional<z.ZodDefault<z.ZodString>>;
      approver: z.ZodObject<{
        employeeId: z.ZodString;
        name: z.ZodString;
        email: z.ZodEmail;
      }, z.core.$strip>;
    }, z.core.$strip>>;
  }, z.core.$strip>>;
}, z.core.$strip>;
type ResubmitApproval = z.infer<typeof ResubmitApprovalSchema>;
declare const CancelApprovalSchema: z.ZodObject<{
  id: z.ZodUUID;
  comment: z.ZodString;
  emailBody: z.ZodString;
}, z.core.$strip>;
type CancelApproval = z.infer<typeof CancelApprovalSchema>;
declare const WithdrawApprovalSchema: z.ZodObject<{
  id: z.ZodUUID;
  comment: z.ZodString;
  emailBody: z.ZodString;
}, z.core.$strip>;
type WithdrawApproval = z.infer<typeof WithdrawApprovalSchema>;
//#endregion
//#region src/models/peoplesoft/Department.d.ts
declare const DepartmentSchema: z.ZodObject<{
  departmentId: z.ZodString;
  description: z.ZodString;
  managerId: z.ZodString;
  managerRecordNumber: z.ZodString;
  treeLevel: z.ZodNumber;
  upperDepartmentId: z.ZodString;
  companyCode: z.ZodString;
  location: z.ZodString;
  salLocation: z.ZodString;
  plantId: z.ZodString;
  manager: z.ZodObject<{
    badgeId: z.ZodString;
    category: z.ZodString;
    categoryGroup: z.ZodEnum<{
      FD: "FD";
      FI: "FI";
      IDL: "IDL";
    }>;
    companyCode: z.ZodString;
    contactPhone: z.ZodString;
    departmentId: z.ZodString;
    departmentDescription: z.ZodString;
    emailString: z.ZodString;
    employeeId: z.ZodString;
    extensionNumber: z.ZodString;
    firstName: z.ZodString;
    gender: z.ZodString;
    hiredDate: z.ZodDate;
    lastName: z.ZodString;
    managerId: z.ZodString;
    middleName: z.ZodString;
    name: z.ZodString;
    nameTitleCase: z.ZodString;
    nfcSn: z.ZodString;
    plantId: z.ZodString;
    position: z.ZodString;
    previousEmployeeIds: z.ZodNullable<z.ZodString>;
    reHiredDate: z.ZodNullable<z.ZodDate>;
    recordNumber: z.ZodNumber;
    status: z.ZodEnum<{
      Active: "Active";
      "Leave of Absence": "Leave of Absence";
      Terminated: "Terminated";
    }>;
    supervisorId: z.ZodString;
    terminationDate: z.ZodNullable<z.ZodDate>;
    terminationFutureDate: z.ZodNullable<z.ZodDate>;
    type: z.ZodString;
    upperDepartmentId: z.ZodString;
    jobCode: z.ZodString;
    jobDescription: z.ZodString;
    terminationReason: z.ZodNullable<z.ZodString>;
    supervisorRecordNumber: z.ZodNumber;
  }, z.core.$strip>;
}, z.core.$strip>;
type Department = z.infer<typeof DepartmentSchema>;
//#endregion
//#region src/models/peoplesoft/Employee.d.ts
declare const EmployeeSchema: z.ZodObject<{
  badgeId: z.ZodString;
  category: z.ZodString;
  categoryGroup: z.ZodEnum<{
    FD: "FD";
    FI: "FI";
    IDL: "IDL";
  }>;
  companyCode: z.ZodString;
  contactPhone: z.ZodString;
  departmentId: z.ZodString;
  departmentDescription: z.ZodString;
  emailString: z.ZodString;
  employeeId: z.ZodString;
  extensionNumber: z.ZodString;
  firstName: z.ZodString;
  gender: z.ZodString;
  hiredDate: z.ZodDate;
  lastName: z.ZodString;
  managerId: z.ZodString;
  middleName: z.ZodString;
  name: z.ZodString;
  nameTitleCase: z.ZodString;
  nfcSn: z.ZodString;
  plantId: z.ZodString;
  position: z.ZodString;
  previousEmployeeIds: z.ZodNullable<z.ZodString>;
  reHiredDate: z.ZodNullable<z.ZodDate>;
  recordNumber: z.ZodNumber;
  status: z.ZodEnum<{
    Active: "Active";
    "Leave of Absence": "Leave of Absence";
    Terminated: "Terminated";
  }>;
  supervisorId: z.ZodString;
  terminationDate: z.ZodNullable<z.ZodDate>;
  terminationFutureDate: z.ZodNullable<z.ZodDate>;
  type: z.ZodString;
  upperDepartmentId: z.ZodString;
  jobCode: z.ZodString;
  jobDescription: z.ZodString;
  terminationReason: z.ZodNullable<z.ZodString>;
  supervisorRecordNumber: z.ZodNumber;
}, z.core.$strip>;
type Employee = z.infer<typeof EmployeeSchema>;
//#endregion
export { Approval as a, ApproveApprovalSchema as c, CreateApproval as d, CreateApprovalSchema as f, WithdrawApprovalSchema as g, WithdrawApproval as h, DepartmentSchema as i, CancelApproval as l, ResubmitApprovalSchema as m, EmployeeSchema as n, ApprovalSchema as o, ResubmitApproval as p, Department as r, ApproveApproval as s, Employee as t, CancelApprovalSchema as u };
//# sourceMappingURL=Employee-iepWeWhO.d.mts.map