import type { Control as TControl, ControlEvent, ControlLayoutParams } from "../../../manifest"; import type { Control } from "./Control"; import type { AnimationsFeatureToggles } from "../types"; export type { TControl }; export declare const CONTROLLER_PREFIX = "int"; export declare enum CONTROLLER_IDS { AREA = "int_area", TEXT = "int_text", BUTTON = "int_bttn" } export type Dimensions = { width: T; height: T; }; export type Callbacks = { setControlLayout: (element: HTMLElement, controlLayoutParams: ControlLayoutParams) => void; isContainerDisabled: () => boolean; }; export type ControlCreateViewParams = { parentElement: HTMLElement; callbacks: Callbacks; }; export type Options = Record; export type ControlOptions = { isTouch: boolean; features: Pick; }; export declare function isControlOptions(options: Options): options is ControlOptions; type ControlEventCallbackParams = { action: ControlEvent["action"]; controlId: string; controlType: TControl["type"]; }; export type ControlEventCallback = (params: ControlEventCallbackParams) => void; export type ControlCreator< O extends Options = Options, C extends Control = Control > = (control: TControl, options?: O) => C | undefined;