///
/** 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 adaptert type definition depending on the creation options
*/
export interface AdapterInstance extends Omit {
oObjects: HasObjectsCache extends true ? Exclude : undefined;
oStates: HasStatesCache extends true ? Exclude : undefined;
}
/** This type augments the ioBroker Adapter options to accept two generics for the objects and states cache */
export declare 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 {};