export interface User {
  id: string;
  username: string;
  displayName: string;
  email: string;
  avatar?: string;
  roles: string[];
  permissions: {
    canEdit: boolean;
    canModerate: boolean;
    canAdmin: boolean;
  };
  contributions: {
    articles: number;
    edits: number;
    comments: number;
  };
}

export interface AuthUser {
  userId: string;
  username: string;
  roles: string[];
  permissions: {
    canEdit: boolean;
    canModerate: boolean;
    canAdmin: boolean;
  };
}

export interface OAuthTokenResponse {
  access_token: string;
  token_type: string;
  expires_in: number;
  refresh_token?: string;
  scope?: string;
}

export interface GhostGuildUserInfo {
  id: string;
  email: string;
  username: string;
  displayName?: string;
  avatar?: string;
  roles?: string[];
}
