export interface ActionInteraction {
    /** The ID of the action the user interacted with. This corresponds to the ACTION_ID field of the Action interaction schema. */
    actionId: string;
    /** The ID of the user who interacted with the action. This corresponds to the USER_ID field of the Action interaction schema. */
    userId?: string;
    /** The ID associated with the user's visit. Your application generates a unique sessionId when a user first visits your website or uses your application. */
    sessionId: string;
    /** The timestamp for when the action interaction event occurred. Timestamps must be in Unix epoch time format, in seconds. */
    timestamp: string;
    /** The type of action interaction event. You can specify Viewed, Taken, and Not Taken event types. For more information about action interaction event type data, see Event type data. */
    eventType: string;
    /** An ID associated with the event. If an event ID is not provided, Amazon Personalize generates a unique ID for the event. An event ID is not used as an input to the model. Amazon Personalize uses the e */
    eventId?: string;
    /** The ID of the list of recommendations that contains the action the user interacted with. */
    recommendationId?: string;
    /** A list of action IDs that represents the sequence of actions you have shown the user. For example, ["actionId1", "actionId2", "actionId3"]. Amazon Personalize doesn't use impressions data from action  */
    impression?: any[];
    /** A string map of event-specific data that you might choose to record. For example, if a user takes an action, other than the action ID, you might also send the number of actions taken by the user. Each */
    properties?: string;
}
export interface Action {
    /** The ID associated with the action. */
    actionId: string;
    /** A string map of action-specific metadata. Each element in the map consists of a key-value pair. For example, {"value": "100"}. The keys use camel case names that match the fields in the schema for the */
    properties?: string;
}
export interface Event {
    /** An ID associated with the event. If an event ID is not provided, Amazon Personalize generates a unique ID for the event. An event ID is not used as an input to the model. Amazon Personalize uses the e */
    eventId?: string;
    /** The type of event, such as click or download. This property corresponds to the EVENT_TYPE field of your Item interactions dataset's schema and depends on the types of events you are tracking. */
    eventType: string;
    /** The event value that corresponds to the EVENT_VALUE field of the Item interactions schema. */
    eventValue?: number;
    /** The item ID key that corresponds to the ITEM_ID field of the Item interactions dataset's schema. */
    itemId?: string;
    /** A string map of event-specific data that you might choose to record. For example, if a user rates a movie on your site, other than movie ID (itemId) and rating (eventValue) , you might also send the n */
    properties?: string;
    /** The timestamp (in Unix time) on the client side when the event occurred. */
    sentAt: string;
    /** The ID of the list of recommendations that contains the item the user interacted with. Provide a recommendationId to have Amazon Personalize implicitly record the recommendations you show your user as */
    recommendationId?: string;
    /** A list of item IDs that represents the sequence of items you have shown the user. For example, ["itemId1", "itemId2", "itemId3"]. Provide a list of items to manually record impressions data for an eve */
    impression?: any[];
    /** Contains information about the metric attribution associated with an event. For more information about metric attributions, see Measuring impact of recommendations. */
    metricAttribution?: any;
}
export interface Item {
    /** The ID associated with the item. */
    itemId: string;
    /** A string map of item-specific metadata. Each element in the map consists of a key-value pair. For example, {"numberOfRatings": "12"}. The keys use camel case names that match the fields in the schema  */
    properties?: string;
}
export interface User {
    /** The ID associated with the user. */
    userId: string;
    /** A string map of user-specific metadata. Each element in the map consists of a key-value pair. For example, {"numberOfVideosWatched": "45"}. The keys use camel case names that match the fields in the s */
    properties?: string;
}
export interface PutActionInteractionsInput {
    /** A list of action interaction events from the session. */
    actionInteractions: ActionInteraction[];
    /** The ID of your action interaction event tracker. When you create an Action interactions dataset, Amazon Personalize creates an action interaction event tracker for you. For more information, see Actio */
    trackingId: string;
}
export interface PutActionsInput {
    /** A list of action data. */
    actions: Action[];
    /** The Amazon Resource Name (ARN) of the Actions dataset you are adding the action or actions to. */
    datasetArn: string;
}
export interface PutEventsInput {
    /** A list of event data from the session. */
    eventList: Event[];
    /** The session ID associated with the user's visit. Your application generates the sessionId when a user first visits your website or uses your application. Amazon Personalize uses the sessionId to assoc */
    sessionId: string;
    /** The tracking ID for the event. The ID is generated by a call to the CreateEventTracker API. */
    trackingId: string;
    /** The user associated with the event. */
    userId?: string;
}
export interface PutItemsInput {
    /** The Amazon Resource Name (ARN) of the Items dataset you are adding the item or items to. */
    datasetArn: string;
    /** A list of item data. */
    items: Item[];
}
export interface PutUsersInput {
    /** The Amazon Resource Name (ARN) of the Users dataset you are adding the user or users to. */
    datasetArn: string;
    /** A list of user data. */
    users: User[];
}
/** Personalize Events service binding for Step Functions SDK integrations. */
export declare class PersonalizeEvents {
    constructor();
    putActionInteractions<T>(params: PutActionInteractionsInput): Promise<T>;
    putActions<T>(params: PutActionsInput): Promise<T>;
    putEvents<T>(params: PutEventsInput): Promise<T>;
    putItems<T>(params: PutItemsInput): Promise<T>;
    putUsers<T>(params: PutUsersInput): Promise<T>;
}
//# sourceMappingURL=PersonalizeEvents.d.ts.map