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

export declare class UsernameRenderer implements Renderer {
    readonly parent: Element;
    elements: {
        section: HTMLDivElement;
    };
    children: {
        username: UsernameInnerWrapperRenderer;
        clan: ClanRenderer;
    };
    constructor(parent: Element);
    private _render;
    render(props: Required<DiscordUserCardProperties>): Promise<void>;
    renderSkeleton(props: Required<DiscordUserCardProperties>): void;
    destroy(): void;
}
declare class UsernameInnerWrapperRenderer implements Renderer {
    readonly parent: Element;
    elements: {
        div: HTMLDivElement;
    };
    children: {
        text: UsernameTextRenderer;
        pronouns: PronounsRenderer;
    };
    constructor(parent: Element);
    private _render;
    render(props: Required<DiscordUserCardProperties>): Promise<void>;
    renderSkeleton(props: Required<DiscordUserCardProperties>): void;
    destroy(): void;
}
declare class ClanRenderer implements Renderer {
    readonly parent: Element;
    elements: {
        outer: HTMLDivElement;
        inner: HTMLSpanElement;
        img: HTMLImageElement;
        text: HTMLSpanElement;
    };
    constructor(parent: Element);
    private setAttributes;
    private _render;
    render({ user: { clan } }: Required<DiscordUserCardProperties>): Promise<void>;
    renderSkeleton({ user: { clan } }: Required<DiscordUserCardProperties>): void;
    destroy(): void;
}
declare class UsernameTextRenderer implements Renderer {
    readonly parent: Element;
    elements: {
        display: HTMLHeadingElement;
        tag: HTMLDivElement;
        username: HTMLSpanElement;
    };
    children: {
        discriminator: DiscriminatorRenderer;
        botTag: BotTagRenderer;
    };
    constructor(parent: Element);
    private _render;
    render(props: Required<DiscordUserCardProperties>): Promise<void>;
    renderSkeleton(props: Required<DiscordUserCardProperties>): void;
    destroy(): void;
}
declare class DiscriminatorRenderer implements Renderer {
    readonly parent: Element;
    elements: {
        discriminator: HTMLSpanElement;
    };
    constructor(parent: Element);
    render(props: Required<DiscordUserCardProperties>): Promise<void>;
    renderSkeleton(): void;
    destroy(): void;
}
declare class BotTagRenderer implements Renderer {
    readonly parent: Element;
    elements: {
        wrapper: HTMLSpanElement;
        icon: SVGSVGElement;
        paths: SVGPathElement;
        text: HTMLSpanElement;
    };
    constructor(parent: Element);
    render(props: Required<DiscordUserCardProperties>): Promise<void>;
    renderSkeleton(): void;
    destroy(): void;
}
declare class PronounsRenderer implements Renderer {
    readonly parent: Element;
    elements: {
        pronouns: HTMLDivElement;
    };
    constructor(parent: Element);
    private _render;
    render(props: Required<DiscordUserCardProperties>): Promise<void>;
    renderSkeleton(props: Required<DiscordUserCardProperties>): void;
    destroy(): void;
}
export {};
//# sourceMappingURL=username.d.ts.map