export declare class ConfigurerInstance> { config: T; private readonly defaultConfig; constructor(config: T, defaultConfig: T); getString(key: K): string; getInt(key: K): number; getFloat(key: K): number; getBoolean(key: K): boolean; getStringArray(key: K): string[]; getIntArray(key: K): number[]; getFloatArray(key: K): number[]; getBooleanArray(key: K): boolean[]; getJSON(key: K): R; } export declare class Configurer> { defaultConfig: T; constructor(defaultConfig: T); loadConfig(options?: { env?: Record; obj?: any; }): ConfigurerInstance; generateExampleObject(): Record; } export type TypeFromConfigurer> = C extends ConfigurerInstance ? T : never;