/**
 * Stripe Node - Version 1
 * Discriminator: resource=customer, operation=getAll
 */


interface Credentials {
  stripeApi: CredentialReference;
}

/** Get many charges */
export type StripeV1CustomerGetAllParams = {
  resource: 'customer';
  operation: 'getAll';
/**
 * 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 50
 */
    limit?: number | Expression<number>;
/**
 * Filters
 * @default {}
 */
    filters?: {
    /** Customer's email to filter by
     */
    email?: string | Expression<string> | PlaceholderValue;
  };
};

export type StripeV1CustomerGetAllOutput = {
  balance?: number;
  created?: number;
  delinquent?: boolean;
  id?: string;
  invoice_prefix?: string;
  invoice_settings?: {
    custom_fields?: null;
    footer?: null;
    rendering_options?: null;
  };
  livemode?: boolean;
  object?: string;
  preferred_locales?: Array<string>;
  tax_exempt?: string;
  test_clock?: null;
};

export type StripeV1CustomerGetAllNode = {
  type: 'n8n-nodes-base.stripe';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<StripeV1CustomerGetAllParams>;
  output?: Items<StripeV1CustomerGetAllOutput>;
};