import { Signal } from '@preact/signals-core'; import { BaseOutProperties, InProperties, WithSignal } from '../properties/index.js'; import { Component } from './component.js'; import { Texture } from 'three'; import { RenderContext } from '../context.js'; export type ImageFit = 'cover' | 'fill'; export declare const imageDefaults: { objectFit: ImageFit; keepAspectRatio: boolean; scrollbarWidth: number; visibility: Required["visibility"]; opacity: number | `${number}%`; depthTest: boolean; renderOrder: number; fontSize: Required["fontSize"]; letterSpacing: Required["letterSpacing"]; lineHeight: Required["lineHeight"]; wordBreak: Required["wordBreak"]; verticalAlign: keyof typeof import("../utils.js").alignmentYMap; textAlign: keyof typeof import("../utils.js").alignmentXMap | "justify"; fontWeight: import("../index.js").FontWeight; caretWidth: number; receiveShadow: boolean; castShadow: boolean; panelMaterialClass: NonNullable; pixelSize: number; anchorX: keyof typeof import("../utils.js").alignmentXMap; anchorY: keyof typeof import("../utils.js").alignmentYMap; tabSize: number; whiteSpace: import("../text/layout.js").WhiteSpace; }; export type ImageOutProperties = BaseOutProperties & { src?: Src; } & typeof imageDefaults; export type ImageProperties = InProperties>; export declare class Image = ImageOutProperties> extends Component { protected inputConfig?: { renderContext?: RenderContext; defaultOverrides?: InProperties; loadTexture?: boolean; defaults?: WithSignal; } | undefined; readonly texture: Signal; constructor(inputProperties?: InProperties, initialClasses?: Array | string>, inputConfig?: { renderContext?: RenderContext; defaultOverrides?: InProperties; loadTexture?: boolean; defaults?: WithSignal; } | undefined); clone(recursive?: boolean): this; add(): this; }