UNPKG

@discord-user-card/profile-effects

Version:

All the profile effects supported by Discord (User Card)

179 lines 3.79 kB
/** * The product type of a SKU. * * @see https://discord.com/shop */ export declare enum DiscordProductType { /** * A invalid product type. */ NONE = 100, /** * A avatar decoration. */ AVATAR_DECORATION = 0, /** * A profile effect. */ PROFILE_EFFECT = 1, /** * A bundle of products. */ BUNDLE = 1000 } /** * The type of animation for a profile effect. */ export declare enum AnimationType { /** * An invalid animation type. */ UNSPECIFIED = 0, /** * A persistent animation. */ PERSISTENT = 1, /** * An intermittent animation. */ INTERMITTENT = 2 } /** * A profile effect. */ export type ProfileEffect = ProfileEffectUnspecified | ProfileEffectPersistent | ProfileEffectIntermittent; /** * A profile effect. */ export interface ProfileEffectBase { /** * The type of product. */ type: DiscordProductType.PROFILE_EFFECT; /** * The unique identifier for the product. */ id: string; /** * The unique identifier for the SKU. */ sku_id: string; /** * The title of the product. */ title: string; /** * The description of the product. */ description: string; /** * The accessibility label for the product. (usually the title and description combined) */ accessibilityLabel: string; /** * The type of animation for the Profile Effect. */ animationType: AnimationType; } /** * A profile effect with an unspecified animation type. */ export interface ProfileEffectUnspecified extends ProfileEffectBase { animationType: AnimationType.UNSPECIFIED; } /** * A profile effect with a persistent animation type. */ export interface ProfileEffectPersistent extends ProfileEffectBase { /** * The type of animation for the Profile Effect. */ animationType: AnimationType.PERSISTENT; /** * The source URL for the static frame. */ staticFrameSrc: string; /** * The source URL for the thumbnail preview. */ thumbnailPreviewSrc: string; /** * The source URL for the reduced motion version. */ reducedMotionSrc: string; /** * The effects of the profile effect. */ effects: Effect[]; } export interface ProfileEffectIntermittent extends ProfileEffectBase { /** * The type of animation for the Profile Effect. */ animationType: AnimationType.INTERMITTENT; /** * The source URL for the thumbnail preview. */ thumbnailPreviewSrc: string; /** * The source URL for the reduced motion version. */ reducedMotionSrc: string; /** * The effects of the profile effect. */ effects: Effect[]; } export interface Effect { /** * The source URL for the effect. */ src: string; /** * Whether the effect should loop. */ loop: boolean; /** * The height of the effect. */ height: number; /** * The width of the effect. */ width: number; /** * The duration of the effect. */ duration: number; /** * The start time of the effect. */ start: number; /** * The loop delay of the effect. */ loopDelay: number; /** * The position of the effect. */ position: Position; /** * The z-index of the effect. */ zIndex: number; } /** * A position on the screen for an effect. */ export interface Position { /** * The x-coordinate of the position. */ x: number; /** * The y-coordinate of the position. */ y: number; } export declare const profileEffects: ProfileEffect[]; //# sourceMappingURL=profileEffects.d.ts.map