import { CacheOptions, CacheOptionsParam } from "@mediahubmx/cache"; import { Addon } from "@mediahubmx/schema"; import { ActionHandlers, ResolverHandlerFn } from "./types"; export declare class AddonClass { protected readonly props: Addon; private handlersMap; private defaultCacheOptions; private resolvers; constructor(props: Addon); validateAddon(): void; getProps(): Addon; getId(): Addon["id"]; getVersion(): Addon["version"]; setDefaultCacheOptions(options: CacheOptionsParam): this; getDefaultCacheOptions(): Partial; registerActionHandler>(action: A, handler: ActionHandlers[A]): this; unregisterActionHandler(action: keyof ActionHandlers): void; getActionHandler(action: string): any; hasActionHandler(action: keyof ActionHandlers): boolean; /** * Helper function to create resolver functions for multiple hosts. * Of course you still can use the direct method via * `registerActionHanlder("resolve", handlerFunction)`. */ addResolveHandler(pattern: RegExp | string | (RegExp | string)[], handler: ResolverHandlerFn): Promise; } export declare const createAddon: (props: Addon) => AddonClass;