import { ShadowlessElement } from '@blockeditor/lit';
import type { TType } from '../../../logical/typesystem.js';
import type { LiteralViewProps } from '../matcher.js';
declare const LiteralElement_base: typeof ShadowlessElement & import("@blockeditor/global/utils").Constructor<import("@blockeditor/lit").DisposableClass>;
export declare abstract class LiteralElement<T = unknown, Type extends TType = TType> extends LiteralElement_base implements LiteralViewProps<T, Type> {
    type: Type;
    value?: T;
    onChange: (value?: T) => void;
}
export declare class BooleanLiteral extends LiteralElement<boolean> {
    render(): "True" | "False";
}
export declare class NumberLiteral extends LiteralElement<number> {
    static styles: import("lit").CSSResult;
    render(): string | import("lit").TemplateResult<1>;
}
export declare class StringLiteral extends LiteralElement<string> {
    static styles: import("lit").CSSResult;
    render(): string | import("lit").TemplateResult<1>;
}
export {};
//# sourceMappingURL=literal-element.d.ts.map