/**
 * Authentication-related types
 * Re-exports types from the auto-generated OpenAPI schema
 */

import type { components } from './generated/api';

// Login
export type LoginRequest = components['schemas']['LoginRequest'];
export type LoginResponse = components['schemas']['LoginResponse'];

// Token Refresh
export type RefreshTokenRequest = components['schemas']['RefreshTokenRequest'];

/**
 * Custom types not in OpenAPI spec
 */

export interface TokenStorage {
  accessToken: string;
  refreshToken: string;
  expiresAt: string; // ISO 8601 timestamp
}

export interface AuthConfig {
  apiBaseUrl: string;
  auth?: TokenStorage;
}
