declare {
    // Name of the batch file (with full path)
    // %0 = $args[0]
    // %~dp0 = filepath.abs($args[0])
    // File name only (without path or extension)
    // $~n0 = filepath.basename($args[0])
    // File extension only
    // $~x0 = filepath.extname($args[0])
    // Command-line arguments 1 to 9
    // %1 ~ %9 = $args[1] ~ $args[9]
    // All passed command-line arguments
    // %* = $args
    const args: str[]

    // %~dp0
    const DIR: str

    // Current working directory
    const CD: str

    // Exit code of the last command
    const ERRORLEVEL: num

    // A random number between 0 and 32767
    const RANDOM: num

    // Current local date
    const DATE: str

    // Current local time
    const TIME: str

    // Full original command line for CMD.exe
    const CMDCMDLINE: str

    // CMD.EXE command extensions version number
    const CMDEXTVERSION: num

    // Processor architecture (e.g., AMD64)
    const PROCESSOR_ARCHITECTURE: str

    // Processor identifier string
    const PROCESSOR_IDENTIFIER: str

    // Processor model level
    const PROCESSOR_LEVEL: num

    // Processor revision
    const PROCESSOR_REVISION: num

    // Number of processors
    const NUMBER_OF_PROCESSORS: num

    // Operating system name (usually Windows_NT)
    const OS: str

    // Roaming application data folder
    const APPDATA: str

    // Local application data folder
    const LOCALAPPDATA: str

    // Shared application data folder for all users
    const ALLUSERSPROFILE: str

    // Common program data folder
    const ProgramData: str

    // 64-bit Program Files directory
    const ProgramFiles: str

    // 32-bit Program Files directory
    const ProgramFiles_x86: str

    // System drive letter (e.g., C:)
    const SystemDrive: str

    // Windows installation directory
    const SystemRoot: str

    // Windows directory (alternative to SystemRoot)
    const windir: str

    // Temporary files directory
    const TEMP: str

    // Temporary files directory (alternative)
    const TMP: str

    // Current username
    const USERNAME: str

    // User domain
    const USERDOMAIN: str

    // User profile directory
    const USERPROFILE: str

    // User home drive
    const HOMEDRIVE: str

    // User home path
    const HOMEPATH: str

    // Executable search path
    const Path: str

    // Executable file extensions
    const PATHEXT: str

    // Full path to CMD.exe
    const ComSpec: str

    // Current prompt setting
    const PROMPT: str

    // Domain controller name (if joined to a domain)
    const LOGONSERVER: str

    // Public user folder path
    const PUBLIC: str

    // Common files for programs
    const CommonProgramFiles: str

    // Common files for 32-bit programs (on 64-bit systems)
    const CommonProgramFiles_x86: str

    // 64-bit program files directory
    const ProgramW6432: str

    // Terminal session name (e.g., for Remote Desktop)
    const SESSIONNAME: str

    // Actual processor architecture when running 32-bit CMD on a 64-bit OS
    const PROCESSOR_ARCHITEW6432: str

    // PowerShell modules directory path
    const PSModulePath: str
}
