import { HasProps } from "./core/has_props"; import type { Class } from "./core/class"; import type { Dict } from "./core/types"; import type { ModelEvent, ModelEventType, BokehEventMap } from "./core/bokeh_events"; import type * as p from "./core/properties"; import type { Comparator } from "./core/util/eq"; import { equals } from "./core/util/eq"; import type { CallbackLike0 } from "./core/util/callbacks"; export type ModelSelector = Class | string | { type: string; }; export type ChangeCallback = CallbackLike0; export type EventCallback = CallbackLike0; export declare namespace Model { type Attrs = p.AttrsOf; type Props = HasProps.Props & { tags: p.Property; name: p.Property; js_property_callbacks: p.Property>; js_event_callbacks: p.Property>; subscribed_events: p.Property>; syncable: p.Property; }; } export interface Model extends Model.Attrs { } export declare abstract class Model extends HasProps { properties: Model.Props; private _js_callbacks; get is_syncable(): boolean; [equals](that: this, cmp: Comparator): boolean; constructor(attrs?: Partial); initialize(): void; connect_signals(): void; _process_event(event: ModelEvent): void; trigger_event(event: ModelEvent): void; protected _update_event_callbacks(): void; protected _update_property_callbacks(): void; protected _doc_attached(): void; protected _doc_detached(): void; select(selector: ModelSelector): T[]; select_one(selector: ModelSelector): T | null; get_one(selector: ModelSelector): T; on_event(event: T, callback: EventCallback): void; on_event(event: Class, callback: EventCallback): void; } //# sourceMappingURL=model.d.ts.map