export type IPaginationParams = { limit: number; next?: string; previous?: string; search?: string; filter?: string; }; export type JSONArray = Array; export type JSONPrimitive = string | number | boolean | null; export type JSONValue = JSONPrimitive | JSONObject | JSONArray | null; export type JSONObject = { [member: string]: JSONValue; }; export type IPaginatedResults = { total_count: number; next: string | null; previous: string | null; results: T[]; }; export type ServiceParams = { limit?: number; cursor?: string | null; sortKey?: string; sortType?: 'asc' | 'desc'; }; export type Nullable = T | null | undefined; export type EnumValues = T[keyof T]; export type EnumKeys = keyof T;