/**
 * Oura Node - Version 1
 * Discriminator: resource=summary, operation=getReadiness
 */


interface Credentials {
  ouraApi: CredentialReference;
}

/** Get the user's readiness summary */
export type OuraV1SummaryGetReadinessParams = {
  resource: 'summary';
  operation: 'getReadiness';
/**
 * Whether to return all results or only up to a given limit
 * @default false
 */
    returnAll?: boolean | Expression<boolean>;
/**
 * Max number of results to return
 * @displayOptions.show { returnAll: [false] }
 * @default 5
 */
    limit?: number | Expression<number>;
/**
 * Filters
 * @default {}
 */
    filters?: {
    /** End date for the summary retrieval. If omitted, it defaults to the current day.
     */
    end?: string | Expression<string>;
    /** Start date for the summary retrieval. If omitted, it defaults to a week ago.
     */
    start?: string | Expression<string>;
  };
};

export type OuraV1SummaryGetReadinessOutput = {
  contributors?: {
    activity_balance?: number;
    body_temperature?: number;
    previous_night?: number;
    recovery_index?: number;
    resting_heart_rate?: number;
  };
  day?: string;
  id?: string;
  score?: number;
  temperature_deviation?: number;
  timestamp?: string;
};

export type OuraV1SummaryGetReadinessNode = {
  type: 'n8n-nodes-base.oura';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<OuraV1SummaryGetReadinessParams>;
  output?: Items<OuraV1SummaryGetReadinessOutput>;
};