/**
 * Evaluation Trigger Node - Version 4.6
 * Run a test dataset through your workflow to check performance
 */


export interface EvaluationTriggerV46Params {
/**
 * Where to get the test dataset from
 * @default googleSheets
 */
    source?: 'dataTable' | 'googleSheets' | Expression<string>;
/**
 * Authentication
 * @displayOptions.hide { source: ["dataTable"] }
 * @default oAuth2
 */
    authentication?: 'serviceAccount' | 'oAuth2' | Expression<string>;
/**
 * Document Containing Dataset
 * @hint Example dataset format &lt;a href="https://docs.google.com/spreadsheets/d/1vD_IdeFUg7sHsK9okL6Doy1rGOkWTnPJV3Dro4FBUsY/edit?gid=0#gid=0"&gt;here&lt;/a&gt;
 * @displayOptions.hide { source: ["dataTable"] }
 * @default {"mode":"list","value":""}
 */
    documentId?: { __rl: true; mode: 'list' | 'url' | 'id'; value: string; cachedResultName?: string };
/**
 * Sheet Containing Dataset
 * @displayOptions.hide { source: ["dataTable"] }
 * @default {"mode":"list","value":""}
 */
    sheetName?: { __rl: true; mode: 'list' | 'url' | 'id'; value: string; cachedResultName?: string };
/**
 * Data table
 * @displayOptions.show { source: ["dataTable"] }
 * @default {"mode":"list","value":""}
 */
    dataTableId?: { __rl: true; mode: 'list' | 'id'; value: string; cachedResultName?: string };
/**
 * Whether to limit number of rows to process
 * @default false
 */
    limitRows?: boolean;
/**
 * Maximum number of rows to process
 * @displayOptions.show { limitRows: [true] }
 * @default 10
 */
    maxRows?: number | Expression<number>;
/**
 * Filters
 * @displayOptions.hide { source: ["dataTable"] }
 * @default {}
 */
    filtersUI?: {
        /** Filter
     */
    values?: Array<{
      /** Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;
       */
      lookupColumn?: string | Expression<string>;
      /** Value
       * @hint The column must have this value to be matched
       */
      lookupValue?: string | Expression<string> | PlaceholderValue;
    }>;
  };
/**
 * Whether to filter rows to process
 * @displayOptions.show { source: ["dataTable"] }
 * @default false
 */
    filterRows?: boolean;
/**
 * Must Match
 * @displayOptions.show { filterRows: [true] }
 * @default anyCondition
 */
    matchType?: 'anyCondition' | 'allConditions' | Expression<string>;
/**
 * Filter to decide which rows get
 * @displayOptions.show { filterRows: [true] }
 * @default {}
 */
    filters?: {
        /** Conditions
     */
    conditions?: Array<{
      /** Choose from the list, or specify using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;
       * @default id
       */
      keyName?: string | Expression<string>;
      /** Condition
       * @default eq
       */
      condition?: string | Expression<string>;
      /** Value
       * @displayOptions.hide { condition: ["isEmpty", "isNotEmpty", "isTrue", "isFalse"] }
       */
      keyValue?: string | Expression<string> | PlaceholderValue;
    }>;
  };
}

export interface EvaluationTriggerV46Credentials {
  googleApi: CredentialReference;
  googleSheetsOAuth2Api: CredentialReference;
}

interface EvaluationTriggerV46NodeBase {
  type: 'n8n-nodes-base.evaluationTrigger';
  version: 4.6;
  credentials?: EvaluationTriggerV46Credentials;
  isTrigger: true;
}

export type EvaluationTriggerV46ParamsNode = EvaluationTriggerV46NodeBase & {
  config: NodeConfig<EvaluationTriggerV46Params>;
};

export type EvaluationTriggerV46Node = EvaluationTriggerV46ParamsNode;