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

export interface AgreementClientProps {
  id: number;
  salesforce_id: number;
  ssn: number;
  email: string;
  mobile_phone: string;
  joint_customer_sf_id: string;
  client_key: string;
  attributes: {
    Id: string;
    FirstName: string;
    MiddleName: string;
    LastName: string;
    Email: string;
  };
}

export interface ContractProps {
  id: number;
  name: string;
  description: string;
  type: string;
  content: string;
  created_at: string;
  updated_at: string;
  workflows_count: number | null;
}

export interface AuthorClientProps {
  id: number;
  first_name: string;
  last_name: string;
  email: string;
  created_at: string;
  updated_at: string;
  user_access_log: {
    last_login_at: string;
  };
  roles: [
    {
      id: string;
      name: string;
      permissions: [
        {
          name: string;
        },
      ];
    },
  ];
}

export interface ClientAgreementProps {
  id: number;
  name: string;
  type: string;
  attachment: AttachmentProps;
  client: AgreementClientProps;
  author: AuthorClientProps;
  contract: ContractProps;
  agreement_signed: string;
  created_at: string;
  updated_at: string;
}

export interface LegalAgreementsResponseProps {
  data: ClientAgreementProps[];
}
