/**
 * KoBoToolbox Node - Version 1
 * Discriminator: resource=form, operation=getAll
 */


interface Credentials {
  koBoToolboxApi: CredentialReference;
}

/** Get many forms */
export type KoBoToolboxV1FormGetAllParams = {
  resource: 'form';
  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 1000
 */
    limit?: number | Expression<number>;
/**
 * Options
 * @default {}
 */
    options?: {
    /** Sort
     * @default {}
     */
    sort?: {
        /** Sort
     */
    value?: {
      /** Whether to sort by descending order
       * @default true
       */
      descending?: boolean | Expression<boolean>;
      /** Field to order by
       * @default date_modified
       */
      ordering?: 'asset_type' | 'date_modified' | 'name' | 'owner__username' | 'subscribers_count' | Expression<string>;
    };
  };
  };
/**
 * Filters
 * @default {}
 */
    filters?: {
    /** A text search query based on form data - e.g. "owner__username:meg AND name__icontains:quixotic" - see &lt;a href="https://github.com/kobotoolbox/kpi#searching" target="_blank"&gt;docs&lt;/a&gt; for more details
     * @default asset_type:survey
     */
    filter?: string | Expression<string> | PlaceholderValue;
  };
};

export type KoBoToolboxV1FormGetAllNode = {
  type: 'n8n-nodes-base.koBoToolbox';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<KoBoToolboxV1FormGetAllParams>;
};