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


interface Credentials {
  harvestApi: CredentialReference;
  harvestOAuth2Api: CredentialReference;
}

/** Create a client */
export type HarvestV1TaskCreateParams = {
  resource: 'task';
  operation: 'create';
  authentication?: 'accessToken' | 'oAuth2' | Expression<string>;
/**
 * Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;
 */
    accountId?: string | Expression<string>;
/**
 * The name of the task
 */
    name?: string | Expression<string> | PlaceholderValue;
/**
 * Additional Fields
 * @default {}
 */
    additionalFields?: {
    /** Whether default tasks should be marked billable when creating a new project. Defaults to true.
     * @default true
     */
    billable_by_default?: boolean | Expression<boolean>;
    /** The default hourly rate to use for this task when it is added to a project. Defaults to 0.
     * @default 0
     */
    default_hourly_rate?: number | Expression<number>;
    /** Whether this task is active or archived. Defaults to true.
     * @default true
     */
    is_active?: boolean | Expression<boolean>;
    /** Whether this task should be automatically added to future projects. Defaults to false.
     * @default false
     */
    is_default?: boolean | Expression<boolean>;
  };
};

export type HarvestV1TaskCreateNode = {
  type: 'n8n-nodes-base.harvest';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<HarvestV1TaskCreateParams>;
};