export type TriggerType = 'LOGIN' | 'CLICK_LINK' | 'SAFEKEY_2FA' | 'SMS' | 'PHONE_CALL';
export type TriggerStatus = 'PENDING' | 'LOCKED' | 'UNLOCKED';
export type MergeTriggerStatus = 'PENDING' | 'EXPIRED' | 'LOCKED' | 'DENIED' | 'ACTIVATED';
export interface TriggerProps {
    id: TriggerType;
    countdown?: {
        days: number;
        hours: number;
        minutes: number;
        seconds: number;
    };
    settings?: {
        email?: string;
        phone?: string;
    };
    status: TriggerStatus;
    mergeStatus: MergeTriggerStatus;
}
export interface TriggerPrimitiveProps extends Omit<TriggerProps, 'storage'> {
}
export default class Trigger {
    private props;
    constructor(props: TriggerProps);
    static get emailTriggers(): string[];
    static get phoneTriggers(): string[];
    get id(): TriggerType;
    get status(): TriggerStatus;
    get viewStatus(): any;
    get mergeStatus(): MergeTriggerStatus;
    get countdown(): {
        days: number;
        hours: number;
        minutes: number;
        seconds: number;
    } | undefined;
    get isEmailTarget(): boolean;
    get isPhoneTarget(): boolean;
    get isPending(): boolean;
    get isExpired(): boolean;
    get isDenied(): boolean;
    get target(): string | undefined;
    /** @ignore */
    static fromPrimitives(props: TriggerPrimitiveProps): Trigger;
    /** @ignore */
    toPrimitives(): TriggerPrimitiveProps;
}
