/**
 * Интерфейс конфигурации окружения
 * Определяет структуру переменных окружения для приложения
 *
 * @remarks
 * Все поля являются опциональными и могут быть определены в файле .env
 *
 * @example
 * ```ts
 * // Пример файла .env
 * TELEGRAM_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
 * VK_TOKEN=vk1.a.1234567890abcdef
 * DB_HOST=localhost
 * DB_USER=root
 * DB_PASSWORD=secret
 * DB_NAME=myapp
 * ```
 */
export interface IEnvConfig {
    /**
     * Токен для Telegram Bot API
     * Используется для авторизации бота в Telegram
     *
     * @example
     * ```ts
     * TELEGRAM_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
     * ```
     */
    TELEGRAM_TOKEN?: string;
    /**
     * Токен для VK API
     * Используется для авторизации в VK API
     *
     * @example
     * ```ts
     * VK_TOKEN=vk1.a.1234567890abcdef
     * ```
     */
    VK_TOKEN?: string;
    /**
     * Токен подтверждения для VK Callback API
     * Используется для верификации запросов от VK
     *
     * @example
     * ```ts
     * VK_CONFIRMATION_TOKEN=abcdef123456
     * ```
     */
    VK_CONFIRMATION_TOKEN?: string;
    /**
     * Токен для Viber API
     * Используется для авторизации в Viber API
     *
     * @example
     * ```ts
     * VIBER_TOKEN=1234567890abcdef
     * ```
     */
    VIBER_TOKEN?: string;
    /**
     * Токен для Яндекс.Диалоги (Алиса)
     * Используется для авторизации в API Яндекс.Диалогов
     *
     * @example
     * ```ts
     * YANDEX_TOKEN=1234567890abcdef
     * ```
     */
    YANDEX_TOKEN?: string;
    /**
     * Токен для Маруси
     * Используется для авторизации в API Маруси
     *
     * @example
     * ```ts
     * MARUSIA_TOKEN=1234567890abcdef
     * ```
     */
    MARUSIA_TOKEN?: string;
    /**
     * Токен для Max
     * Используется для авторизации в API MAX
     *
     * @example
     * ```ts
     * MAX_TOKEN=1234567890abcdef
     * ```
     */
    MAX_TOKEN?: string;
    /**
     * Токен для Сбер SmartApp
     * Используется для авторизации в API Сбер SmartApp
     *
     * @example
     * ```ts
     * SMARTAPP_TOKEN=1234567890abcdef
     * ```
     */
    SMARTAPP_TOKEN?: string;
    /**
     * Адрес сервера базы данных
     *
     * @remarks
     * Может быть указан как:
     * - localhost
     * - IP-адрес
     * - доменное имя
     *
     * @example
     * ```ts
     * DB_HOST=localhost
     * DB_HOST=127.0.0.1
     * DB_HOST=db.example.com
     * ```
     */
    DB_HOST?: string;
    /**
     * Имя пользователя для подключения к базе данных
     *
     * @example
     * ```ts
     * DB_USER=root
     * ```
     */
    DB_USER?: string;
    /**
     * Пароль для подключения к базе данных
     *
     * @remarks
     * Рекомендуется использовать сложные пароли
     * и хранить их в безопасном месте
     *
     * @example
     * ```ts
     * DB_PASSWORD=my_secure_password
     * ```
     */
    DB_PASSWORD?: string;
    /**
     * Название базы данных
     *
     * @example
     * ```ts
     * DB_NAME=myapp
     * ```
     */
    DB_NAME?: string;
}
/**
 * Статус загрузки конфигурации
 */
export interface IEnvConfigStatus {
    /**
     * Флаг успешности загрузки
     */
    status: boolean;
    /**
     * Ошибка загрузки
     */
    error?: string;
    /**
     * Данные конфигурации
     */
    data?: IEnvConfig;
}
/**
 * Загружает переменные окружения из файла .env
 *
 * @param {string} envPath - Путь к файлу .env
 * @returns {IEnvConfig} Объект с переменными окружения
 *
 * @remarks
 * Функция:
 * - Читает файл .env
 * - Парсит строки формата KEY=VALUE
 * - Игнорирует пустые строки и комментарии
 * - Удаляет кавычки из значений
 *
 * @example
 * ```ts
 * // Загрузка конфигурации
 * const config = loadEnvFile('.env');
 *
 * // Использование значений
 * const telegramToken = config.TELEGRAM_TOKEN;
 * const dbHost = config.DB_HOST;
 * ```
 *
 * @throws {Error} Если файл не найден или не может быть прочитан
 */
export declare function loadEnvFile(envPath: string): IEnvConfigStatus;
