import { InjectionToken } from '@angular/core';
/**
 * Marks a component that can emit product experience events.
 */
export interface ProductExperienceEventSource {
    productExperienceEvent: ProductExperienceEvent;
}
/**
 * Defines the payload for a product experience event.
 */
export interface ProductExperienceEvent {
    /**
     * Name of the event.
     */
    eventName: string;
    /**
     * Any other data that will be sent as payload.
     */
    data?: PxEventData;
}
/**
 * Suggets some common product experience event properties.
 */
export interface PxEventData {
    /**
     * Description or an identifier of user interaction.
     */
    action?: string;
    /**
     * Component that triggered the event.
     */
    component?: string;
    /**
     * The URL that the action was triggered at.
     */
    url?: string;
    /**
     * The result from the user action, e.g. when 'Cancel'
     * when a user has cancelled a confirmation prompt.
     */
    result?: string;
    [key: string]: any;
}
/**
 * Use this token for components that can provide product experience events.
 */
export declare const PRODUCT_EXPERIENCE_EVENT_SOURCE: InjectionToken<unknown>;
//# sourceMappingURL=product-experience.model.d.ts.map