import { Role, Permission } from "@/types/auth";

export interface RoleFilters {
  search?: string;
  page?: number;
  limit?: number;
}

export interface CreateRoleRequest {
  title: string;
  description: string;
}

export interface UpdateRoleRequest {
  id: number;
  title: string;
  description: string;
}

export interface RoleResponse {
  role: Role;
}

export interface RoleWithPermissions extends Role {
  permissions: Permission[];
}

export interface RolePermissionsResponse {
  permissions: Permission[];
}

export interface AssignPermissionResponse {
  message: string;
}

export interface DeleteRoleResponse {
  message: string;
}

export interface RoleFormData {
  title: string;
  description: string;
}

export type Response<T> = {
  data: T;
  message?: string;
  success?: boolean;
};
