import { AllOptionalProperties } from '../properties/default.js';
import { Component } from './utils.js';
import { IconProperties, createIconState } from '../components/icon.js';
import { ThreeEventMap } from '../events.js';
export declare class Icon<T = {}, EM extends ThreeEventMap = ThreeEventMap> extends Component<T> {
    private readonly styleSignal;
    private readonly propertiesSignal;
    private readonly defaultPropertiesSignal;
    private readonly parentContextSignal;
    private readonly unsubscribe;
    internals: ReturnType<typeof createIconState>;
    constructor(text: string, svgWidth: number, svgHeight: number, properties?: IconProperties<EM>, defaultProperties?: AllOptionalProperties);
    getComputedProperty<K extends keyof IconProperties<EM>>(key: K): IconProperties<EM>[K] | undefined;
    getStyle(): undefined | Readonly<IconProperties<EM>>;
    setStyle(style: IconProperties<EM> | undefined, replace?: boolean): void;
    setProperties(properties: IconProperties<EM> | undefined): void;
    setDefaultProperties(properties: AllOptionalProperties): void;
    destroy(): void;
}
