import { TelemetryOptions } from './telemetry-options';
/**
 * Telemetry record.
 */
export interface TelemetryRecord {
    /**
     * The view name.
     * ex) createVmForm, processList, eventRecordList, stopServiceConfirmationDialog...
     */
    view: string;
    /**
     * The instance name for the telemetry target object.
     */
    instance: string;
    /**
     * The name of part within the view.
     * ex) angular component name.
     */
    part?: string;
    /**
     * The action name.
     * ex) createVm, refresh, stopService
     */
    action: string;
    /**
     * A modifier for the action.
     */
    actionModifier?: string;
    /**
     * The additional data.
     */
    data?: any;
    /**
     * Whether or not this event should be considered optional. Default to false.
     */
    optional?: boolean;
    /**
     * The partner telemetry event provider name.
     */
    eventProvider?: string;
    /**
     * The partner telemetry event name.
     */
    eventName?: string;
    /**
     * The partner telemetry options.
     */
    telemetryOptions?: TelemetryOptions;
}
/**
 * Feedback specific fields for the feedback telemetry event. Most of these are populated by the feedback dialog itself.
 */
export interface FeedbackTelemetryData {
    /**
     * Location of the feedback dialog
     */
    FeedbackDelivery: string;
    /**
     * The text of the feedback prompt
     */
    QuestionText: string;
    /**
     * The user score
     */
    RatingScore: number;
    /**
     * The region/language of the user
     */
    UserLocale: string;
    /**
     * Whether the feedback was declined or not.
     */
    FeedbackDeclined: boolean;
    /**
     * User comments, if specified
     */
    UserComments: string;
    /**
     * User email, if added
     */
    UserEmail: string;
}
