/**
 * Google Tasks Node - Version 1
 * Discriminator: resource=task, operation=create
 */


interface Credentials {
  googleTasksOAuth2Api: CredentialReference;
}

/** Add a task to tasklist */
export type GoogleTasksV1TaskCreateParams = {
  resource: 'task';
  operation: 'create';
/**
 * Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;
 */
    task?: string | Expression<string>;
/**
 * Title of the task
 */
    title?: string | Expression<string> | PlaceholderValue;
/**
 * Additional Fields
 * @default {}
 */
    additionalFields?: {
    /** Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
     */
    completed?: string | Expression<string>;
    /** Whether the task has been deleted
     * @default false
     */
    deleted?: boolean | Expression<boolean>;
    /** Due date of the task
     */
    dueDate?: string | Expression<string>;
    /** Additional Notes
     */
    notes?: string | Expression<string> | PlaceholderValue;
    /** Parent task identifier. If the task is created at the top level, this parameter is omitted.
     */
    parent?: string | Expression<string> | PlaceholderValue;
    /** Previous sibling task identifier. If the task is created at the first position among its siblings, this parameter is omitted.
     */
    previous?: string | Expression<string> | PlaceholderValue;
    /** Current status of the task
     */
    status?: 'needsAction' | 'completed' | Expression<string>;
  };
};

export type GoogleTasksV1TaskCreateOutput = {
  etag?: string;
  id?: string;
  kind?: string;
  notes?: string;
  position?: string;
  selfLink?: string;
  status?: string;
  title?: string;
  updated?: string;
  webViewLink?: string;
};

export type GoogleTasksV1TaskCreateNode = {
  type: 'n8n-nodes-base.googleTasks';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<GoogleTasksV1TaskCreateParams>;
  output?: Items<GoogleTasksV1TaskCreateOutput>;
};