export interface CorrespondenceUser {
  id: number;
  first_name: string;
  last_name: string;
  email: string;
  created_at: string;
  is_disabled: boolean;
}

export interface CorrespondenceAttachment {
  id: number;
  url: string;
  downloadUrl: string;
  caption: string;
  type: string;
  extension: string;
  size: number;
  created_at: string;
}

export interface CorrespondenceAttribute {
  name: string;
  value: string;
}

export interface CorrespondenceItem {
  id: number;
  client_id: number;
  type: string;
  run_by: CorrespondenceUser;
  attachments: CorrespondenceAttachment[];
  attributes: CorrespondenceAttribute[];
  bureau?: {
    id: number;
    title: string;
    fax_number: string;
  };
  furnisher?: {
    id: number;
    name: string;
    fax_number: string;
  };
}

export interface CorrespondenceLinks {
  first: string;
  last: string;
  prev: string;
  next: string;
}

export interface CorrespondenceMetaLink {
  url: string;
  label: string;
  active: boolean;
}

export interface CorrespondenceMeta {
  current_page: number;
  from: number;
  last_page: number;
  links: CorrespondenceMetaLink[];
  path: string;
  per_page: number;
  to: number;
  total: number;
}

export interface CorrespondenceResponse {
  data: CorrespondenceItem[];
  links: CorrespondenceLinks;
  meta: CorrespondenceMeta;
}

export interface CorrespondenceItemWithName extends CorrespondenceItem {
  displayName?: string;
  date?: string;
}
