/**
 * KoBoToolbox Trigger Node - Version 1
 * Process KoBoToolbox submissions
 */


export interface KoBoToolboxTriggerV1Params {
/**
 * Form ID (e.g. aSAvYreNzVEkrWg5Gdcvg). Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
 */
    formId?: string | Expression<string>;
  triggerOn?: 'formSubmission' | Expression<string>;
  formatOptions?: {
    /** Whether to download submitted attachments
     * @default false
     */
    download?: boolean | Expression<boolean>;
    /** Attachments Naming Scheme
     * @displayOptions.show { download: [true] }
     * @default sequence
     */
    binaryNamingScheme?: 'sequence' | 'question' | Expression<string>;
    /** Prefix for name of the binary property to which to write the attachments. An index starting with 0 will be added. So if name is "attachment_" the first attachment is saved to "attachment_0"
     * @displayOptions.show { download: [true], binaryNamingScheme: ["sequence"] }
     * @default attachment_
     */
    dataPropertyAttachmentsPrefixName?: string | Expression<string> | PlaceholderValue;
    /** Attachment size to retrieve, if multiple versions are available
     * @displayOptions.show { download: [true] }
     * @default download_url
     */
    version?: 'download_url' | 'download_small_url' | 'download_medium_url' | 'download_large_url' | Expression<string>;
    /** Comma-separated list of wildcard-style selectors for fields that should be treated as multiselect fields, i.e. parsed as arrays.
     * @default select_*
     */
    selectMask?: string | Expression<string> | PlaceholderValue;
    /** Comma-separated list of wildcard-style selectors for fields that should be treated as numbers
     * @default n_*, f_*
     */
    numberMask?: string | Expression<string> | PlaceholderValue;
    /** Whether to apply some reformatting to the submission data, such as parsing GeoJSON coordinates
     * @default false
     */
    reformat?: boolean | Expression<boolean>;
  };
}

export interface KoBoToolboxTriggerV1Credentials {
  koBoToolboxApi: CredentialReference;
}

interface KoBoToolboxTriggerV1NodeBase {
  type: 'n8n-nodes-base.koBoToolboxTrigger';
  version: 1;
  credentials?: KoBoToolboxTriggerV1Credentials;
  isTrigger: true;
}

export type KoBoToolboxTriggerV1ParamsNode = KoBoToolboxTriggerV1NodeBase & {
  config: NodeConfig<KoBoToolboxTriggerV1Params>;
};

export type KoBoToolboxTriggerV1Node = KoBoToolboxTriggerV1ParamsNode;