import type { AxiosResponse } from "axios"; interface SortConfig { empty: boolean; sorted: boolean; unsorted: boolean; } interface PageableConfig { sort: SortConfig; offset: number; pageNumber: number; pageSize: number; paged: boolean; unpaged: boolean; } export interface PageableList { content: T[]; pageable: PageableConfig; sort: SortConfig; totalPages: number; totalElements: number; number: number; numberOfElements: number; size: number; first: boolean; last: boolean; empty: boolean; } export interface PageableParams { page?: number; size?: number; sort?: string[]; } export interface AttachmentParams extends PageableParams { keywordType?: string; keyword?: string; atflCd?: string; atflSn?: number; atflId?: string; orgnlFileNm?: string; atflFlieSz?: number; atflType?: string; dwnldNocs?: number; delYn?: string; lnkgDmnId?: string; lnkgDmnNm?: string; } export interface Attachment { atflCd: string; atflSn: number; atflId: string; physFileNm: string; orgnlFileNm: string; atflFlieSz: number; atflType: string; dwnldNocs: number; delYn: string; lnkgDmnId: string; lnkgDmnNm: string; regDt: string; } export type AttachmentList = PageableList; export interface AttachmentService { getAttachmentsList: (params: AttachmentParams) => Promise; getAttachmentsInfo: (atflCd: string) => Promise; deleteAttachmentByAtflCd: (atflCd: string) => Promise; }