import { AfterActionCallback, BeforeActionCallback, ConditionHook } from '../index'; import { PolyController } from './poly-controller'; import { PolyAction, PolyActionName } from './action-manager'; export interface PolyTriggerMap { trigger: HTMLElement; action: PolyActionName; payload?: string; } export interface PolyConfig { cooldown: number; deactivateAllOnOutsideAction: boolean; listenToKeydown: boolean; items: NodeListOf | HTMLElement[]; isTrigger: (element: HTMLElement) => boolean; mapTriggerToAction: (trigger: HTMLElement) => PolyTriggerMap | false; getItemId: (item: HTMLElement) => string | false; conditionActivate: ConditionHook; conditionDeactivate: ConditionHook; conditionToggle: ConditionHook; conditionActivateAll: ConditionHook; conditionDeactivateAll: ConditionHook; conditionToggleAll: ConditionHook; beforeDeactivate: BeforeActionCallback; afterDeactivate: AfterActionCallback; itemIsActive: (item: HTMLElement, context: PolyController) => boolean; activateItem: (item: HTMLElement, context: PolyController) => void; deactivateItem: (item: HTMLElement, context: PolyController) => void; beforeActivate: BeforeActionCallback; afterActivate: AfterActionCallback; beforeAction: BeforeActionCallback; afterAction: AfterActionCallback; onOutsideAction: (context: PolyController) => void; onKeydown: (event: KeyboardEvent, context: PolyController) => void; } export declare const DEFAULT_CONFIG: PolyConfig;