/// <reference types="vite/client" />

interface ImportMetaEnv {
    // App Information
    readonly VITE_APP_NAME: string
    readonly VITE_APP_VERSION: string
    readonly VITE_APP_DESCRIPTION: string
    readonly VITE_APP_AUTHOR: string

    // Super Admin Email
    readonly VITE_SUPER_ADMIN_EMAIL: string

    // Supabase
    readonly VITE_SUPABASE_PUBLIC_URL: string
    readonly VITE_SUPABASE_URL: string
    readonly VITE_SUPABASE_REDIRECT_URL: string
    readonly VITE_SUPABASE_ANON_KEY: string

    // Site URL
    readonly VITE_FRONTEND_SITE_URL: string

    // Firebase Settings
    readonly VITE_REACT_APP_API_KEY: string
    readonly VITE_REACT_APP_AUTH_DOMAIN: string
    readonly VITE_REACT_APP_PROJECT_ID: string
    readonly VITE_REACT_APP_STORAGE_BUCKET: string
    readonly VITE_REACT_APP_MESSAGING_SENDER_ID: string
    readonly VITE_REACT_APP_APP_ID: string

    // Supabase Settings

    // Microsoft API Settings
    readonly VITE_MICROSOFT_CLIENT_ID: string
    readonly VITE_MICROSOFT_CLIENT_SECRET_DESC: string
    readonly VITE_MICROSOFT_CLIENT_SECRET_ID: string
    readonly VITE_MICROSOFT_CLIENT_SECRET: string
    readonly VITE_MICROSOFT_TENANT_ID: string

    // API Base
    readonly VITE_API_BASE: string

    // Search URL
    readonly VITE_SEARCH_URL: string

    // TLSync
    readonly VITE_TLSYNC_URL: string
    readonly VITE_TLSYNC_SECRET: string

    // WhisperLive
    readonly VITE_WHISPERLIVE_URL: string

    // LLM / Ollama
    readonly VITE_LLM_PROVIDER: string
    readonly VITE_OLLAMA_API_URL: string
    readonly VITE_OLLAMA_BASE_URL: string

    // API URL (legacy alias for VITE_API_BASE)
    readonly VITE_API_URL: string

    // Dev mode flag
    readonly VITE_DEV: string

    // Ports
    readonly VITE_PORT_FRONTEND: string
    readonly VITE_PORT_FRONTEND_HMR: string

    // Neo4j
    readonly VITE_NEO4J_URL: string
    readonly VITE_NEO4J_USER: string
    readonly VITE_NEO4J_PASSWORD: string
}

interface ImportMeta {
    readonly env: ImportMetaEnv
}
