/**
 * Onfleet Node - Version 1
 * Discriminator: resource=task, operation=clone
 */


interface Credentials {
  onfleetApi: CredentialReference;
}

/** Clone an Onfleet task */
export type OnfleetV1TaskCloneParams = {
  resource: 'task';
  operation: 'clone';
/**
 * The ID of the task object for lookup
 * @displayOptions.hide { operation: ["create", "getAll"] }
 */
    id?: string | Expression<string> | PlaceholderValue;
/**
 * Override Fields
 * @default {}
 */
    overrideFields?: {
    /** The earliest time the task should be completed
     */
    completeAfter?: string | Expression<string>;
    /** The latest time the task should be completed
     */
    completeBefore?: string | Expression<string>;
    /** Include Barcodes
     * @default false
     */
    includeBarcodes?: boolean | Expression<boolean>;
    /** Include Dependencies
     * @default false
     */
    includeDependencies?: boolean | Expression<boolean>;
    /** Include Metadata
     * @default false
     */
    includeMetadata?: boolean | Expression<boolean>;
    /** Notes for the task
     */
    notes?: string | Expression<string> | PlaceholderValue;
    /** Whether the task is a pickup task
     * @default false
     */
    pickupTask?: boolean | Expression<boolean>;
    /** The number of minutes to be spent by the worker on arrival at this task's destination, for route optimization purposes
     * @default 0
     */
    serviceTime?: number | Expression<number>;
  };
};

export type OnfleetV1TaskCloneNode = {
  type: 'n8n-nodes-base.onfleet';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<OnfleetV1TaskCloneParams>;
};