export type ConfigData = {
    [key: string]: any;
};
/**
 * General config-file handler.
 */
export declare class ConfigBuilder {
    private type;
    private path;
    /**
     * Config constructor.
     */
    constructor(filePath: string);
    /**
     * Get path to the config file on the filesystem.
     *
     * @returns {string} the path to the config file
     */
    getPath(): string;
    /**
     * Get the config format (eg. type).
     *
     * @returns {'yaml' | 'json'} either `yaml` or `json`
     */
    getType(): 'yaml' | 'json';
    /**
     * @private
     */
    private setFileData;
    /**
     * @private
     */
    private stringify;
    private getFileData;
    /**
     * Get a config value from a key.
     *
     * @param {string} key - the config key
     * @param {T} defaults -
     */
    get<T = any>(key: string, defaults?: T): T;
    /**
     * Sets a key - value pair in config.
     *
     * @returns true if the value was set successfully
     */
    set(key: string, value: any): boolean;
    /**
     * Check if config value exists.
     *
     * @param key - the config key
     * @returns true if the config contains that key
     */
    has(key: string): boolean;
    /**
     * Delete a config value.
     *
     * @param key - the config key
     * @returns true if the deletion was successful
     */
    del(key: string): boolean;
}
//# sourceMappingURL=ConfigBuilder.d.ts.map