import { XYGlyph, XYGlyphView } from "./xy_glyph"; import type { Arrayable } from "../../core/types"; import { ImageOrigin } from "../../core/enums"; import * as p from "../../core/properties"; import type * as visuals from "../../core/visuals"; import * as mixins from "../../core/property_mixins"; import type { Context2d } from "../../core/util/canvas"; import type { ImageIndex } from "../selections/selection"; import { Selection } from "../selections/selection"; import type { PointGeometry } from "../../core/geometry"; import type { SpatialIndex } from "../../core/util/spatial"; import type { NDArrayType } from "../../core/util/ndarray"; import type { XY } from "../../core/util/bbox"; import { Anchor } from "../common/kinds"; type ImageData = HTMLCanvasElement | null; export interface ImageBaseView extends ImageBase.Data { } export declare abstract class ImageBaseView extends XYGlyphView { model: ImageBase; visuals: ImageBase.Visuals; connect_signals(): void; get image_dimension(): number; get xy_scale(): XY; get xy_offset(): XY; get xy_anchor(): XY; get xy_sign(): XY; protected _paint(ctx: Context2d, indices: number[], data?: Partial): void; protected abstract _flat_img_to_buf8(img: NDArrayType): Uint8ClampedArray; protected get _can_inherit_image_data(): boolean; protected _set_data(indices: number[] | null): void; protected _index_data(index: SpatialIndex): void; _lrtb(i: number): [number, number, number, number]; protected _get_or_create_canvas(i: number): HTMLCanvasElement; protected _set_image_data_from_buffer(i: number, buf8: Uint8ClampedArray): void; protected _map_data(): void; protected _image_index(index: number, x: number, y: number): ImageIndex; _hit_point(geometry: PointGeometry): Selection; } export declare namespace ImageBase { type Attrs = p.AttrsOf; type Props = XYGlyph.Props & { image: p.NDArraySpec; dw: p.DistanceSpec; dh: p.DistanceSpec; dilate: p.Property; origin: p.Property; anchor: p.Property; } & Mixins; type Mixins = mixins.ImageVector; type Visuals = XYGlyph.Visuals & { image: visuals.ImageVector; }; type Data = p.GlyphDataOf & { image_data: Arrayable | undefined; inherited_image_data: boolean; image_width: Uint32Array; inherited_image_width: boolean; image_height: Uint32Array; inherited_image_height: boolean; }; } export interface ImageBase extends ImageBase.Attrs { } export declare abstract class ImageBase extends XYGlyph { properties: ImageBase.Props; __view_type__: ImageBaseView; constructor(attrs?: Partial); } export {}; //# sourceMappingURL=image_base.d.ts.map