@discord-user-card/profile-effects
Version:
All the profile effects supported by Discord (User Card)
179 lines • 3.79 kB
TypeScript
/**
* 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