/**
 * ProfitWell Node - Version 1
 * Discriminator: resource=metric, operation=get
 */


interface Credentials {
  profitWellApi: CredentialReference;
}

/** Retrieve financial metric broken down by day for either the current month or the last */
export type ProfitWellV1MetricGetParams = {
  resource: 'metric';
  operation: 'get';
/**
 * Type
 */
    type?: 'daily' | 'monthly' | Expression<string>;
/**
 * Can only be the current or previous month. Format should be YYYY-MM.
 * @displayOptions.show { type: ["daily"] }
 */
    month?: string | Expression<string> | PlaceholderValue;
/**
 * Whether to return a simplified version of the response instead of the raw data
 * @default true
 */
    simple?: boolean | Expression<boolean>;
/**
 * Options
 * @default {}
 */
    options?: {
    /** Only return the metric for this Plan ID. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
     */
    plan_id?: string | Expression<string>;
    /** Comma-separated list of metric trends to return (the default is to return all metric)
     * @displayOptions.show { /type: ["daily"] }
     * @default []
     */
    dailyMetrics?: Array<'active_customers' | 'churned_customers' | 'churned_recurring_revenue' | 'cumulative_net_new_mrr' | 'cumulative_new_trialing_customers' | 'downgraded_customers' | 'downgraded_recurring_revenue' | 'future_churn_mrr' | 'new_customers' | 'new_recurring_revenue' | 'reactivated_customers' | 'reactivated_recurring_revenue' | 'recurring_revenue' | 'upgraded_customers' | 'upgraded_recurring_revenue'>;
    /** Comma-separated list of metric trends to return (the default is to return all metric)
     * @displayOptions.show { /type: ["monthly"] }
     * @default []
     */
    monthlyMetrics?: Array<'active_customers' | 'active_trialing_customers' | 'average_revenue_per_user' | 'churned_customers' | 'churned_customers_cancellations' | 'churned_customers_delinquent' | 'churned_recurring_revenue' | 'churned_recurring_revenue_cancellations' | 'churned_recurring_revenue_delinquent' | 'churned_trialing_customers' | 'converted_customers' | 'converted_recurring_revenue' | 'customers_churn_cancellations_rate' | 'customers_churn_delinquent_rate' | 'customers_churn_rate' | 'customer_conversion_rate' | 'customers_retention_rate' | 'downgraded_customers' | 'downgrade_rate' | 'downgraded_recurring_revenue' | 'existing_customers' | 'existing_recurring_revenue' | 'existing_trialing_customers' | 'growth_rate' | 'lifetime_value' | 'new_customers' | 'new_recurring_revenue' | 'new_trialing_customers' | 'plan_change_rate' | 'plan_changed_recurring_revenue' | 'reactivated_customers' | 'reactivated_recurring_revenue' | 'recurring_revenue' | 'revenue_churn_cancellations_rate' | 'revenue_churn_delinquent_rate' | 'revenue_churn_rate' | 'revenue_retention_rate' | 'upgrade_rate' | 'upgraded_customers' | 'upgraded_recurring_revenue'>;
  };
};

export type ProfitWellV1MetricGetNode = {
  type: 'n8n-nodes-base.profitWell';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<ProfitWellV1MetricGetParams>;
};