export interface AccountInfo {
  id: string;
  email: string;
  profileImage?: string;
  role: string;
  status: AccountStatus;
  isTenantMaster: boolean;
  createdAt: string;
  updatedAt: string;
}

export type AccountStatus = 'active' | 'inactive' | 'suspended';

export const ACCOUNT_STATUS_LABELS: Record<AccountStatus, string> = {
  active: '정상',
  inactive: '비활성',
  suspended: '정지',
};

export const ACCOUNT_STATUS_COLORS: Record<AccountStatus, string> = {
  active: 'bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400',
  inactive: 'bg-gray-100 text-gray-800 dark:bg-gray-900/30 dark:text-gray-400',
  suspended: 'bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400',
};

export interface TermsAgreement {
  type: 'required' | 'optional';
  label: string;
  subLabel?: string;
  agreed: boolean;
  agreedAt?: string;
  withdrawnAt?: string;
}

export interface MarketingConsent {
  email: {
    agreed: boolean;
    agreedAt?: string;
  };
  sms: {
    agreed: boolean;
    withdrawnAt?: string;
  };
}