import { Resolver } from '../Resolver'; export interface UiElementData { _meta?: Meta; } export interface UiElementMeta { access?: string[]; } export interface UiElementConstructorData { resolver: Resolver; onUpdate: (value: unknown | undefined) => void; element: T; name?: string; } /** * Base UiElement class */ export declare abstract class UiElement { #private; constructor({ name, element, resolver, onUpdate, }: UiElementConstructorData); resolver: Resolver; _meta?: UiElementMeta; name?: string; toJSON(): Record; inspect(): void; isAccessAllowed(meta?: UiElementMeta): boolean; protected _value?: unknown; get value(): unknown | undefined; set value(value: unknown | undefined); onUpdate: (value: unknown | undefined) => void; static joinFilters(...filter: (string | undefined)[]): string; }