import { DiscordUserCardProperties } from '@discord-user-card/core';
import { Effect, ProfileEffectIntermittent, ProfileEffectPersistent } from '@discord-user-card/profile-effects';
import { Renderer } from '../../../functions/Renderer.js';

export declare class ProfileEffectsRenderer implements Renderer {
    readonly parent: Element;
    readonly root: Element;
    elements: {
        container: HTMLDivElement;
        inner: HTMLDivElement;
        reducedMotion: HTMLImageElement;
        effects: HTMLImageElement[];
    };
    currentDelay: number;
    ticker: {
        stop: () => void;
        start: () => void;
        readonly isTicking: boolean;
    };
    profileEffectConfig: ProfileEffectPersistent | ProfileEffectIntermittent | null;
    effects: Effect[];
    listenersBound: boolean;
    addHoverEffect: () => void;
    removeHoverEffect: () => void;
    focus: () => void;
    blur: () => void;
    prefersReducedMotionMediaQuery: MediaQueryList;
    get prefersReducedMotion(): boolean;
    constructor(parent: Element, root: Element);
    render({ user: { profileEffect } }: Required<DiscordUserCardProperties>): Promise<void>;
    renderSkeleton(): void;
    setup(effect: ProfileEffectPersistent | ProfileEffectIntermittent): void;
    update(): Promise<void>;
    destroy(): void;
}
//# sourceMappingURL=profileEffects.d.ts.map