interface FetcherRequest { url: string; isNoCache: boolean; } interface PostFetcherRequest extends FetcherRequest { body: Record; } interface GetFetcherRequest extends FetcherRequest { url: string; } interface DeleteFetcherRequest extends GetFetcherRequest {} interface PutFetcherRequest extends PostFetcherRequest {} interface PatchFetcherRequest extends PostFetcherRequest {} interface FetcherRespose { success: boolean; } interface PaginationResponse { onPage: number; onPageCount: number; totalPage: number; totalCount: number; next: boolean; back: boolean; } interface FetcherDataResponse extends FetcherRespose { data: Record | null; pagination?: PaginationResponse; } export type { FetcherRequest, PostFetcherRequest, GetFetcherRequest, DeleteFetcherRequest, PutFetcherRequest, PatchFetcherRequest, FetcherRespose, FetcherDataResponse, };