import { Addon, AddonRequest, AddonResponse, AddonTypes, SelftestRequest, SelftestResponse } from "@watchedcom/schema"; import { CacheOptionsParam } from "../cache"; import { ActionHandler } from "../types"; export declare type BasicHandlers = { selftest: ActionHandler; addon: ActionHandler; }; declare type HandlersMap = Record; export declare abstract class BasicAddonClass { protected readonly props: P; private handlersMap; private defaultCacheOptions; constructor(props: P); validateAddon(): void; getProps(): P; getType(): AddonTypes; getId(): Addon["id"]; getVersion(): Addon["version"]; getMajorVersion(): number; setDefaultCacheOptions(options: CacheOptionsParam): this; getDefaultCacheOptions(): Partial; registerActionHandler>(action: A, handler: HM[A]): this; unregisterActionHandler(action: keyof HandlersMap): void; getActionHandler(action: string): ActionHandler>; hasActionHandler(action: keyof HandlersMap): boolean; } export {};