import { type Canvas, type Image } from '@napi-rs/canvas';
import type { DiscordUserData, RankCardOptions } from '../types';
interface BadgeCanvas {
    canvas: Image;
    x: number;
    y: number;
    w: number;
}
interface ScaledRankCardOptions extends RankCardOptions {
    _scaleX?: number;
    _scaleY?: number;
    _canvasWidth?: number;
    _canvasHeight?: number;
}
export declare function getBadges(data: DiscordUserData, options: ScaledRankCardOptions): Promise<BadgeCanvas[]>;
export declare function genBase(options: ScaledRankCardOptions, _avatarData: string, bannerData: string | null): Promise<Canvas>;
export declare function genFrame(badges: BadgeCanvas[], options: ScaledRankCardOptions): Promise<Canvas>;
export declare function genBorder(options: ScaledRankCardOptions): Canvas;
export declare function genTextAndAvatar(data: DiscordUserData, options: ScaledRankCardOptions, avatarData: string, hasFrame?: boolean): Promise<Canvas>;
export declare function genAvatarFrame(data: {
    decoration?: {
        avatarFrame?: string;
    };
}, options: ScaledRankCardOptions): Promise<Canvas>;
export declare function genBadges(badges: BadgeCanvas[], options?: Partial<ScaledRankCardOptions>): Canvas;
export declare function genBotVerifBadge(data: DiscordUserData, options?: ScaledRankCardOptions): Promise<Canvas>;
export declare function genXpBar(options: ScaledRankCardOptions): Canvas;
export declare function addShadow(canvasToEdit: Canvas): Canvas;
export {};
//# sourceMappingURL=rank.d.ts.map