/** The root directory of JS-Controller */ export declare const controllerDir: string; /** Reads the configuration file of JS-Controller */ export declare function getConfig(): Record; /** * This type is used to include and exclude the states and objects cache from the adapter's type definition depending on the creation options */ export interface AdapterInstance extends ioBroker.Adapter { /** Objects cache */ oObjects: HasObjectsCache extends true ? Exclude : undefined; /** States cache */ oStates: HasStatesCache extends true ? Exclude : undefined; } /** This type augments the ioBroker Adapter options to accept two generics for the objects and states cache */ export type AdapterOptions = Omit & (true extends HasObjectsCache ? { objects: true; } : { objects?: HasObjectsCache; }) & (true extends HasStatesCache ? { states: true; } : { states?: HasStatesCache; }); /** Selects the correct instance type depending on the constructor params */ interface AdapterConstructor { new (adapterOptions: AdapterOptions | string): AdapterInstance; (adapterOptions: AdapterOptions | string): AdapterInstance; } /** Creates a new adapter instance */ export declare const adapter: AdapterConstructor; /** Creates a new adapter instance */ export declare const Adapter: AdapterConstructor; export {};