import dotenv from 'dotenv';
export declare type EnvironmentOptions = dotenv.DotenvConfigOptions & {
    /**
     * false 值配置，用于判断哪些值等同于 false，默认为 ['', 'none', 'false', '0', 'undefined', 'null']
     */
    falsyValues?: string[];
    /**
     * 数组分隔符，用于将特定环境变量分割为字符串数组，默认为 [',', ' ']
     */
    arraySeparators?: string[];
};
/**
 * 环境变量支持，用于统一环境变量的获取、解析和值判断
 */
export declare class Environment {
    options: EnvironmentOptions;
    private parsedEnv;
    /**
     * 是否已开启 env 支持
     */
    private enabled;
    /**
     * 开启 env 支持
     */
    enable(): this;
    /**
     * 关闭 env 支持
     */
    disable(): this;
    /**
     * 载入 .env 文件
     */
    load(): this;
    /**
     * 是否包含某个环境变量
     * @param name - 环境变量名称
     * @returns 是否包含环境变量
     */
    has(name: string): boolean;
    /**
     * 获取环境变量的值
     * @param name - 环境变量名称
     * @returns 环境变量的值
     */
    get(name: string): string;
    /**
     * 判断环境变量是否为 false，基于 falsyValues 配置
     * @param name - 环境变量名称
     * @returns 返回 `true` 或 `false`
     */
    isFalsy(name: string): boolean;
    /**
     * 判断环境变量是否为 true，基于 falsyValues 配置，当环境变量未配置时为 false
     * @param name - 环境变量名称
     * @returns 返回 `true` 或 `false`
     */
    isTruthy(name: string): boolean;
    /**
     * 将环境变量的值解析为数组并返回，基于 arraySeparators 配置
     * @param name - 环境变量名称
     * @returns 解析后的数组
     */
    array(name: string): string[];
    /**
     * 将值解析为数组，基于 arraySeparators 配置
     * @param value - 需要解析的值
     * @returns 解析后的数组
     */
    arrayify(value?: string): string[];
}
