import { createImageState, ImageProperties } from '../components/image.js';
import { AllOptionalProperties } from '../properties/default.js';
import { Parent } from './utils.js';
import { Signal } from '@preact/signals-core';
import { ThreeEventMap } from '../events.js';
export declare class Image<T = {}, EM extends ThreeEventMap = ThreeEventMap> extends Parent<T> {
    private readonly styleSignal;
    private readonly propertiesSignal;
    private readonly defaultPropertiesSignal;
    protected readonly parentContextSignal: Signal<Signal<(Readonly<{
        node: Signal<import("../internals.js").FlexNode | undefined>;
        anyAncestorScrollable: Signal<readonly [boolean, boolean]>;
        ancestorsHaveListeners: Signal<boolean>;
        clippingRect: Signal<import("../clipping.js").ClippingRect | undefined>;
        childrenMatrix: Signal<import("three").Matrix4 | undefined>;
        orderInfo: Signal<import("../order.js").OrderInfo | undefined>;
        root: import("../context.js").RootContext;
    }> & {
        fontFamiliesSignal: Signal<import("../internals.js").FontFamilies | undefined>;
    }) | undefined> | undefined>;
    private readonly unsubscribe;
    internals: ReturnType<typeof createImageState>;
    constructor(properties?: ImageProperties<EM>, defaultProperties?: AllOptionalProperties);
    getComputedProperty<K extends keyof ImageProperties<EM>>(key: K): ImageProperties<EM>[K] | undefined;
    getStyle(): undefined | Readonly<ImageProperties<EM>>;
    setStyle(style: ImageProperties<EM> | undefined, replace?: boolean): void;
    setProperties(properties: ImageProperties<EM> | undefined): void;
    setDefaultProperties(properties: AllOptionalProperties): void;
    destroy(): void;
}
