/**
 * Onfleet Trigger Node - Version 1
 * Starts the workflow when Onfleet events occur
 */


export interface OnfleetTriggerV1Params {
  triggerOn?: 'SMSRecipientOptOut' | 'smsRecipientResponseMissed' | 'taskArrival' | 'taskAssigned' | 'taskCloned' | 'taskCompleted' | 'taskCreated' | 'taskDelayed' | 'taskDeleted' | 'taskEta' | 'taskFailed' | 'taskStarted' | 'taskUnassigned' | 'taskUpdated' | 'workerCreated' | 'workerDeleted' | 'workerDuty' | Expression<string>;
  additionalFields?: {
    /** A name for the webhook for identification
     */
    name?: string | Expression<string> | PlaceholderValue;
  };
}

export interface OnfleetTriggerV1Credentials {
  onfleetApi: CredentialReference;
}

interface OnfleetTriggerV1NodeBase {
  type: 'n8n-nodes-base.onfleetTrigger';
  version: 1;
  credentials?: OnfleetTriggerV1Credentials;
  isTrigger: true;
}

export type OnfleetTriggerV1ParamsNode = OnfleetTriggerV1NodeBase & {
  config: NodeConfig<OnfleetTriggerV1Params>;
};

export type OnfleetTriggerV1Node = OnfleetTriggerV1ParamsNode;