import { RepoTherapyUtilBase } from './base.js'; import type RepoTherapy from './repo-therapy.js'; import type RTLogger from './logger.js'; import type { FilePath, ObjectDefinition } from './types.js'; import type { ValueTypeDefinition } from '../generated/types/value-types.js'; import type ObjectUtil from './object-util.js'; import type { RTValueTypeObject } from './value-type-definitions.js'; import type { ObjectMapper } from '../generated/types/object-util.js'; import type * as EnvDefinition from '../generated/types/env.js'; type FullBaseEnv = BaseEnv & { app?: string; appEnv: string; }; export type Options = { definition: ReturnType>; appDefinition?: ReturnType>; environment?: string; app?: string; mockWithDefault?: boolean; }; export default class RTEnv extends RepoTherapyUtilBase<{ definition: Options['definition']; appDefinition?: Options['appDefinition']; mockWithDefault?: boolean; app?: string; environment?: string; } & CustomOptions> { private _baseEnv; private _baseEnvRaw; protected readonly _baseEnvDefinition: ReturnType>['chainable']>; protected readonly _appEnvDefinition?: ReturnType['chainable']>; get baseEnv(): FullBaseEnv; get typeDefinition(): string; private _appEnv; private _appEnvRaw; get appEnv(): AppEnv; get env(): BaseEnv & { app?: string; appEnv: string; } & AppEnv; get appTypeDefinition(): string; private get _baseEnvPath(); private get _appEnvPath(); constructor(repoTherapy: RepoTherapy, options: Options & CustomOptions); protected _load(namespace: string, path: `${FilePath}/.env` | `${FilePath}/.env.${string}`, definition: ReturnType['chainable']>): { data: T; rawData: T; }; loadAppEnv(): void; static define(callback: (valueType: ValueTypeDefinition, objectUtil: ObjectUtil, logger: RTLogger) => ObjectDefinition): (repoTherapy: RepoTherapy, app?: string) => ObjectDefinition; static loader(repoTherapy: RepoTherapy): Promise, EnvDefinition.AppEnv>>; static generateTypeDefinition(repoTherapy: RepoTherapy): Promise; } export {}; //# sourceMappingURL=env.d.ts.map