import type { ElementMap } from '../inputs/Input'; import { EventManager } from '../shared/EventManager'; export declare abstract class Controller = { change: TValue; refresh: void; }> { abstract _evm: EventManager; /** * All elements created by the controller. */ abstract elements: TElements; /** * Usually the 'container' element for the controller if it has one. * Otherwise, the main element of the controller if there's only one. */ abstract element: Element; /** * Whether the controller has been disposed. */ disposed: boolean; private _disabled; /** * Whether the controller is disabled. A function can be used to * dynamically determine the disabled state. */ get disabled(): boolean; set disabled(v: boolean | (() => boolean)); constructor(opts: Record & { disabled: boolean | (() => boolean); }); get on(): (event: K, callback: import("../shared/EventManager").EventCallback) => string; get listen(): (event: K, callback: import("../shared/EventManager").EventCallback) => string; get emit(): (event: K, ...args: TEvents[K][]) => void; enable(): void; disable(): void; abstract refresh: () => this; dispose(): void; }