declare type ValidJson = any[] | LooseObject; interface dbOptions { debug?: boolean; indentSpaces?: number; } interface LooseObject { [key: string]: any; } declare class db { readonly path: string; private readonly options; private indentSpaces; /** * @description Create a JSON db manager * @param {string} path Path to json file * @param {dbOptions} [options={debug: false, indentSpaces: 4}] Misc options */ constructor(path: string, options?: dbOptions); /** * @description Overwrites the contents with nothing or a passed value. * @param {ValidJson|string} [value=''] * @async * @returns Promise */ overwrite(value?: ValidJson): Promise; /** * @description Updates the json db with new values. * @param {ValidJson} newData New/Changed data to be written/updated. * @returns Promise */ update(newData: ValidJson): Promise; get data(): ValidJson; } declare let hevic: { db: typeof db; }; export default hevic;