/**
 * Magento 2 Node - Version 1
 * Discriminator: resource=order, operation=getAll
 */


interface Credentials {
  magento2Api: CredentialReference;
}

/** Get many customers */
export type Magento2V1OrderGetAllParams = {
  resource: 'order';
  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 5
 */
    limit?: number | Expression<number>;
/**
 * Filter
 * @default none
 */
    filterType?: 'none' | 'manual' | 'json' | Expression<string>;
/**
 * Must Match
 * @displayOptions.show { filterType: ["manual"] }
 * @default anyFilter
 */
    matchType?: 'anyFilter' | 'allFilters' | Expression<string>;
/**
 * Filters
 * @displayOptions.show { filterType: ["manual"] }
 * @default {}
 */
    filters?: {
        /** Conditions
     */
    conditions?: Array<{
      /** Field
       */
      field?: string | Expression<string>;
      /** Condition Type
       * @default eq
       */
      condition_type?: 'eq' | 'gt' | 'gteq' | 'in' | 'lt' | 'lte' | 'like' | 'moreq' | 'neq' | 'nin' | 'notnull' | 'null' | Expression<string>;
      /** Value
       * @displayOptions.hide { condition_type: ["null", "notnull"] }
       */
      value?: string | Expression<string> | PlaceholderValue;
    }>;
  };
/**
 * Filters (JSON)
 * @displayOptions.show { filterType: ["json"] }
 */
    filterJson?: string | Expression<string> | PlaceholderValue;
/**
 * Options
 * @default {}
 */
    options?: {
    /** Sort
     * @default []
     */
    sort?: {
        /** Sort
     */
    sort?: Array<{
      /** The sorting direction
       * @default ASC
       */
      direction?: 'ASC' | 'DESC' | Expression<string>;
      /** The sorting field
       */
      field?: string | Expression<string>;
    }>;
  };
  };
};

export type Magento2V1OrderGetAllNode = {
  type: 'n8n-nodes-base.magento2';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<Magento2V1OrderGetAllParams>;
};