export interface TeeterFileInfo {
  size: number;
  fileName: string;
  contentType: string;
  originalname: string;
}

export interface TeeterItem {
  id: string;
  createdAt: string;
  updatedAt: string;
  fileInfo: TeeterFileInfo;
  uploadedSuccessfully: boolean;
  name: {
    am: string;
    en: string;
  };
  isCurrent: boolean;
  employeePositionId: string;
}

export interface TeeterListResponse {
  count: number;
  items: TeeterItem[];
}

export interface FileInfo {
  size: number;
  fileName: string;
  contentType: string;
  originalname: string;
}

export interface SignatureItem {
  id: string;
  createdAt: string;
  updatedAt: string;
  fileInfo: FileInfo;
  uploadedSuccessfully: boolean;
  isCurrent: boolean;
  employeeId: string;
}

export interface SignatureListResponse {
  count: number;
  items: SignatureItem[];
}

export interface StampFileInfoDTO {
  size: number;
  fileName: string;
  contentType: string;
  originalname: string;
}

export interface StampNameDTO {
  am: string;
  en: string;
}

export interface StampItemDTO {
  createdAt: string; // ISO 8601 date string
  updatedAt: string; // ISO 8601 date string
  id: string;
  fileInfo: StampFileInfoDTO;
  uploadedSuccessfully: boolean;
  name: StampNameDTO;
  locale?: string;
  isCurrent: boolean;
  employeePositionId: string;
  presigned: string;
}

export interface StampResponseDTO {
  count: number;
  items: StampItemDTO[];
}
