import { IFrame } from "./iframe";
export interface ITrigger {
    trigger: string;
    destination: string;
    data: ITriggerData;
}
export interface ITriggerData {
    configuration_token?: string;
    tab_number?: number;
    elements?: string;
    form_values?: string;
}
/**
 * Interface for classes that represent a trigger data.
 * @interface ITriggerData
 *
 * @param {string} [configuration_token]
 * @param {string} [tab_number]
 * @param {string} [elements]
 * @param {string} [form_values]
 * */
/**
 * List of available triggers
 *
 * @type {object}
 * @param {string} SUBMIT_FORM=submit_form
 * @param {string} CHANGE_TAB=tab
 * @param {string} HIDE_ELEMENTS=hide_elements
 * @param {string} SHOW_ELEMENTS=show_elements
 * @param {string} REFRESH_CHECKOUT=refresh_checkout
 * @param {string} UPDATE_FORM_VALUES=update_form_values
 * @param {string} INIT_CHECKOUT=init_checkout
 * @param {string} INJECT_CUSTOMER_DATA=inject_customer_data
 */
export declare const TRIGGER: {
    SUBMIT_FORM: string;
    CHANGE_TAB: string;
    HIDE_ELEMENTS: string;
    SHOW_ELEMENTS: string;
    REFRESH_CHECKOUT: string;
    UPDATE_FORM_VALUES: string;
    INIT_CHECKOUT: string;
    INJECT_CUSTOMER_DATA: string;
};
export declare class Trigger {
    protected iFrame: IFrame;
    constructor(iFrame: IFrame);
    push(triggerName: string, data?: ITriggerData): void;
}
//# sourceMappingURL=trigger.d.ts.map