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;
}