export type SortDirection = "asc" | "desc";

export interface BackendPaginatedData<T> {
  total: number;
  count: number;
  per_page: number;
  current_page: number;
  last_page: number;
  previous_page_url: string | null;
  next_page_url: string | null;
  items: T[];
}

export interface PaginationQueryParams {
  page?: number;
  per_page?: number;
  order_by?: string;
  order?: "ASC" | "DESC";
  search?: string;
  [key: string]: string | number | boolean | undefined;
}

export interface ApiResponse<T> {
  status: boolean;
  message: string;
  data: T;
}

export interface ApiError {
  status: boolean;
  message: string;
}

export type EntityStatus = "active" | "disabled" | "pending";
