import type { DOMComponentView } from "../dom_view"; import type { CanvasLayer } from "../util/canvas"; import type * as p from "../properties"; export type NameOf = Key extends `text_${infer Name}` ? Name : never; export type ValuesOf = { [Key in keyof T & string as NameOf]: T[Key] extends p.Property ? V : never; }; export interface Paintable { request_paint(): void; readonly canvas: { create_layer(): CanvasLayer; create_layer_svg(): CanvasLayer; }; } export declare abstract class VisualProperties { readonly obj: DOMComponentView & Paintable; readonly prefix: string; /** @prototype */ type: string; attrs: string[]; private readonly _props; [Symbol.iterator](): Generator, void, undefined>; readonly css_prefix: string; constructor(obj: DOMComponentView & Paintable, prefix?: string); abstract get doit(): boolean; update(): void; protected _get_css_value(name: string): string; } export declare abstract class VisualUniforms { readonly obj: DOMComponentView & Paintable; readonly prefix: string; /** @prototype */ type: string; attrs: string[]; [Symbol.iterator](): Generator, void, undefined>; constructor(obj: DOMComponentView & Paintable, prefix?: string); abstract get doit(): boolean; update(): void; } //# sourceMappingURL=visual.d.ts.map