export interface AuthTokens {
  accessToken: string;
  refreshToken: string;
  expiresIn: number;
}

export interface AuthResponse {
  success: boolean;
  data: {
    user: {
      id: string;
      email: string;
      name: string;
      locale: string;
      emailVerified: boolean;
      families?: Array<{ id: string; familyId: string; role: string }>;
      preferences?: any;
    };
    tokens: AuthTokens;
    family?: {
      id: string;
      shareCode: string;
      role: string;
    };
    deviceRegistered?: boolean;
    deviceTrusted?: boolean;
    requiresMFA?: boolean;
  };
}

export interface JwtPayload {
  sub: string; // user id
  email: string;
  deviceId?: string;
  iat?: number;
  exp?: number;
}
