import { DiscordUserCardProperties } from '@discord-user-card/core';
import { Renderer } from '../../../functions/Renderer.js';

export declare class AvatarRenderer implements Renderer {
    readonly parent: Element;
    private readonly style;
    elements: {
        wrapper: HTMLDivElement;
        inner: HTMLDivElement;
        svg: SVGSVGElement;
        foreignObject: SVGForeignObjectElement;
        stack: HTMLDivElement;
        img: HTMLImageElement;
        circle: SVGCircleElement;
        rect: SVGRectElement;
    };
    children: {
        avatarDecoration: AvatarDecorationRenderer;
    };
    lastProps: Required<DiscordUserCardProperties> | null;
    rerender(): void;
    listenersBound: boolean;
    boundRerender: () => void;
    reduceMotion: MediaQueryList;
    constructor(parent: Element, style: "card" | "profile");
    private _render;
    render(props: Required<DiscordUserCardProperties>): Promise<void>;
    renderSkeleton(props: Required<DiscordUserCardProperties>): void;
    destroy(): void;
}
declare class AvatarDecorationRenderer implements Renderer {
    readonly parent: Element;
    private readonly style;
    elements: {
        svg: SVGSVGElement;
        foreignObject: SVGForeignObjectElement;
        stack: HTMLDivElement;
        img: HTMLImageElement;
    };
    constructor(parent: Element, style: "card" | "profile");
    render(props: Required<DiscordUserCardProperties>): Promise<void>;
    renderSkeleton(): void;
    destroy(): void;
}
export {};
//# sourceMappingURL=avatar.d.ts.map