import type * as TrophyApi from "../index";
/**
 * A points trigger as returned from admin endpoints.
 */
export interface AdminPointsTrigger {
    /** The UUID of the trigger. */
    id: string;
    /** The type of trigger. */
    type: TrophyApi.AdminPointsTriggerType;
    /** The number of points awarded or deducted when the trigger fires. */
    points: number;
    /** The status of the trigger. */
    status: TrophyApi.AdminPointsTriggerStatus;
    /** User attribute filters applied to the trigger. */
    userAttributes: TrophyApi.AdminPointsTriggerUserAttributesItem[];
    /** The UUID of the metric. Only present for metric triggers. */
    metricId?: string;
    /** The metric threshold. Only present for metric triggers. */
    metricThreshold?: number;
    /** Event attribute filters applied to the trigger. Only present for metric triggers. */
    eventAttributes?: TrophyApi.AdminPointsTriggerEventAttributesItem[];
    /** The UUID of the achievement. Only present for achievement triggers. */
    achievementId?: string;
    /** The streak length. Only present for streak triggers. */
    streakLength?: number;
    /** The time unit. Only present for time triggers. */
    timeUnit?: TrophyApi.AdminPointsTriggerTimeUnit;
    /** The time interval. Only present for time triggers. */
    timeInterval?: number;
    /** Whether metric events that would reduce the user's points below zero are blocked. */
    blockIfOutOfPoints: boolean;
}
