import type * as personalizeevents from "@distilled.cloud/aws/personalize-events"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { EventTracker } from "./EventTracker.ts"; /** * `PutActionInteractions` request with `trackingId` injected from the bound tracker. */ export interface PutActionInteractionsRequest extends Omit { } /** * Runtime binding for `personalize:PutActionInteractions`, scoped to one {@link EventTracker} — * Records action-interaction events (Taken, Not Taken, Viewed) for the * NEXT_BEST_ACTION recipe through the bound {@link EventTracker}. Events * stream into the dataset group's Action interactions dataset. * Provide the implementation with * `Effect.provide(AWS.Personalize.PutActionInteractionsHttp)`. * * ### Streaming Events * **Example:** Record an Action Interaction * ```typescript * // init * const putActionInteractions = yield* Personalize.PutActionInteractions(tracker); * * yield* putActionInteractions({ * actionInteractions: [{ * actionId: "action-1", * userId: "user-1", * sessionId: "session-1", * eventType: "Taken", * timestamp: new Date(), * }], * }); * ``` * * @binding */ export interface PutActionInteractions extends Binding.Service Effect.Effect<(request: PutActionInteractionsRequest) => Effect.Effect>> { } export declare const PutActionInteractions: PutActionInteractions; //# sourceMappingURL=PutActionInteractions.d.ts.map