import type { SVGString } from '@lmvz-ds/lib-ts/validation/SVGString.d.ts';
import type { Icon } from '../../api';
import { type AriaValidationHost } from '../../utils/aria/aria-validation-controller';
import { ReactiveControllerHost } from '../../utils/reactive-controller-host';
export declare class LmvzIcon extends ReactiveControllerHost implements AriaValidationHost {
    private intersectionObserver?;
    private readonly ariaValidationController;
    el: HTMLElement;
    validationEl: HTMLElement | undefined;
    icon: SVGString | string;
    weight?: Icon.IconWeight;
    size?: Icon.Size;
    iconset?: string;
    private iconData?;
    private visible;
    ariaLabel?: string;
    private get ariaHidden();
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    private loadIconPathData;
    componentDidRender(): void;
    render(): any;
    private waitUntilVisible;
}
//# sourceMappingURL=lmvz-icon.d.ts.map