/** * Options of the `button` component accepted by {@link ButtonComponentSystem} that differ from the * properties of {@link ButtonComponent}. Each replaces the same-named property of the options that * {@link Entity#addComponent} derives from the component class; see * {@link ComponentOptionsOverrides}. */ export type ButtonComponentOptionsOverrides = { /** * - Same as {@link ButtonComponent#hitPadding}, also * accepting an `[x, y, z, w]` array. */ hitPadding?: Vec4 | number[]; }; /** * Manages the {@link ButtonComponent}s of an application. Reach it through `app.systems.button`; * components are created with {@link Entity#addComponent}, never by calling the system directly. * * @category User Interface */ export class ButtonComponentSystem extends ComponentSystem { id: string; ComponentType: typeof ButtonComponent; initializeComponentData(component: any, data: any, properties: any): void; cloneComponent(entity: any, clone: any): import("../component.js").Component; onUpdate(dt: any): void; onBeforeRemove(entity: any, component: any): void; } import type { Vec4 } from '../../../core/math/vec4.js'; import { ComponentSystem } from '../system.js'; import { ButtonComponent } from './component.js';