/** @module API/SpinResp */

import {BaseApiEnvelope, Balance, Flow, BaseFeatures, Outcome, FreeRounds} from "./common";

/**
 * Spin/Freespin/Respin response envelope.
 * Depending on state, backend may return a single outcome or a batch.
 * @category Responses
 */
export interface SpinResp extends BaseApiEnvelope {
  /** Balance information after the action. */
  balance: Balance;
  /** Flow context after the action. */
  flow: Flow;
  /** Optional feature state (e.g., remaining freespins). */
  features?: BaseFeatures;
  /** Optional single outcome. */
  outcome?: Outcome;
  /** Optional list of outcomes. */
  outcomes?: Outcome[];
  /** Casino free rounds info, if awarded by integration. */
  free_rounds?: FreeRounds;
}

