/**
 * 환경 변수 기본값 및 해석 도우미
 * - 우선순위: 프로세스 환경 변수 > 추가 지정 fallback 키 > 기본값
 * - 빈 문자열은 기본적으로 무시하며 allowEmpty 옵션으로 허용 가능
 */
interface ResolveEnvOptions {
    fallbackKeys?: string[];
    defaultValue?: string;
    allowEmpty?: boolean;
    useDefault?: boolean;
}
export declare function resolveEnv(key: string, options?: ResolveEnvOptions): string | undefined;
export declare function resolveString(key: string, options?: ResolveEnvOptions): string;
export declare function expandHomeDirPath(value: string): string;
export declare function resolveOptionalString(key: string, options?: ResolveEnvOptions): string | undefined;
interface ResolveNumberOptions {
    fallbackKeys?: string[];
    allowEmpty?: boolean;
    useDefault?: boolean;
    defaultValue?: number;
}
export declare function resolveNumber(key: string, options?: ResolveNumberOptions): number;
export declare function resolveOptionalNumber(key: string, options?: ResolveNumberOptions): number | undefined;
interface ResolveBooleanOptions {
    fallbackKeys?: string[];
    allowEmpty?: boolean;
    useDefault?: boolean;
    defaultValue?: boolean;
}
export declare function resolveBoolean(key: string, options?: ResolveBooleanOptions): boolean;
/**
 * 환경 변수를 숫자로 읽어 validate 함수로 검증합니다.
 * 유효하지 않은 값(NaN, 검증 실패)은 경고 로그를 출력하고 defaultValue를 반환합니다.
 */
export declare function resolveValidatedNumber(key: string, defaultValue: number, validate: (n: number) => boolean, hint: string): number;
export declare const providerDimensionDefaults: Record<string, number>;
export declare function getRawEnvValue(key: string): string | undefined;
export {};
//# sourceMappingURL=environment.d.ts.map