export type RoleName = "admin" | "director" | "manager";

export interface Branch {
  id: string;
  name: string;
  address: string | null;
  city: string | null;
  country: string | null;
}

export interface Company {
  id: string;
  name: string;
  description: string | null;
}

export interface User {
  id: string;
  email: string;
  fullName: string;
  role: RoleName;
  createdAt: string;
  currentBranch?: Branch;
  currentCompany?: Company;
}

export interface LoginData {
  email: string;
  password: string;
}

export interface RegisterData {
  email: string;
  password: string;
  fullName: string;
}

export interface LoginResponse {
  user: User;
  session: {
    id: string;
    token: string;
    expiresAt: string;
  };
}

export interface RegisterResponse {
  user: User;
}

export interface MeResponse {
  user: User;
}
