/**
 * 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