export enum MembershipTier {
  ODDECH = 'ODDECH', // free
  CZUŁOŚĆ = 'CZUŁOŚĆ', // premium
  WOLNOŚĆ = 'WOLNOŚĆ', // vip
}

export enum UserRole {
  USER = 'USER',
  SUPER_ADMIN = 'SUPER_ADMIN',
}

export interface User {
  id: string;
  email: string;
  name: string;
  membershipTier: MembershipTier;
  role: UserRole;
  createdAt: Date;
  avatar?: string;
  isEmailVerified?: boolean;
}

export interface Episode {
  id: string;
  title: string;
  description: string;
  audioUrl: string;
  coverImage: string;
  category: string;
  publishedAt: Date;
  isPremium: boolean;
  duration: string;
  spotifyUrl?: string;
}

export interface Post {
  id: string;
  title: string;
  content: string;
  authorId: string;
  publishedAt: Date;
  isPremium: boolean;
  excerpt?: string;
  coverImage?: string;
}

export interface Download {
  id: string;
  title: string;
  fileUrl: string;
  description: string;
  requiresEmail: boolean;
  createdAt: Date;
  category?: string;
}

export interface AuthState {
  user: User | null;
  loading: boolean;
  error: string | null;
}

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

export interface SignupCredentials {
  email: string;
  password: string;
  name: string;
} 