/**
 * Copyright 2024 Mytra Control S.L. All rights reserved.
 *
 * Use of this source code is governed by an MIT-style license that can be found in the LICENSE file
 * or at https://opensource.org/licenses/MIT.
 */
/** Coercible types */
export type Coercible = boolean | number | Record<string, any> | any[] | null;
/**
 * Coerce an environment variable
 * @param env - Environment
 */
export declare function coerce(env: string | undefined): Coercible;
/**
 * Coerce an environment variable to a boolean value
 * @param env - Environment
 * @param alternative - default value
 */
export declare function coerce(env: string | undefined, alternative: boolean): boolean;
/**
 * Coerce an environment variable to a numerical value
 * @param env - Environment
 * @param alternative - default value
 */
export declare function coerce(env: string | undefined, alternative: number): number;
/**
 * Coerce an environment variable to an object
 * @param env - Environment
 * @param alternative - default value
 */
export declare function coerce(env: string | undefined, alternative: Record<string, any>): Record<string, any>;
/**
 * Coerce an environment variable to an array
 * @param env - Environment
 * @param alternative - default value
 */
export declare function coerce(env: string | undefined, alternative: any[]): any[];
/**
 * Coerce an environment variable to a valid value
 * @param env - Environment
 */
export declare function coerce<T extends Coercible>(env: string | undefined): T | undefined;
/**
 * Coerce an environment variable to a valid value
 * @param env - Environment
 * @param alternative - default value
 */
export declare function coerce(env: string | undefined, alternative: any): any;
//# sourceMappingURL=coerce.d.ts.map