/**
 * Pipedrive Node - Version 1
 * Discriminator: resource=note, operation=getAll
 */


interface Credentials {
  pipedriveApi: CredentialReference;
  pipedriveOAuth2Api: CredentialReference;
}

/** Get data of many activities */
export type PipedriveV1NoteGetAllParams = {
  resource: 'note';
  operation: 'getAll';
  authentication?: 'apiToken' | 'oAuth2' | Expression<string>;
/**
 * Whether to return all results or only up to a given limit
 * @default false
 */
    returnAll?: boolean | Expression<boolean>;
/**
 * Max number of results to return
 * @displayOptions.show { returnAll: [false] }
 * @default 100
 */
    limit?: number | Expression<number>;
/**
 * Additional Fields
 * @default {}
 */
    additionalFields?: {
    /** ID of the deal this note will be associated with
     * @default 0
     */
    deal_id?: number | Expression<number>;
    /** ID of the lead this note will be associated with
     * @default 0
     */
    lead_id?: number | Expression<number>;
    /** ID of the organization this deal will be associated with. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
     */
    org_id?: string | Expression<string>;
    /** ID of the person this note will be associated with
     * @default 0
     */
    person_id?: number | Expression<number>;
  };
};

export type PipedriveV1NoteGetAllOutput = {
  active_flag?: boolean;
  add_time?: string;
  content?: string;
  id?: number;
  person?: {
    name?: string;
  };
  pinned_to_deal_flag?: boolean;
  pinned_to_lead_flag?: boolean;
  pinned_to_organization_flag?: boolean;
  pinned_to_person_flag?: boolean;
  pinned_to_project_flag?: boolean;
  project_id?: null;
  update_time?: string;
  user?: {
    email?: string;
    is_you?: boolean;
    name?: string;
  };
  user_id?: number;
};

export type PipedriveV1NoteGetAllNode = {
  type: 'n8n-nodes-base.pipedrive';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<PipedriveV1NoteGetAllParams>;
  output?: Items<PipedriveV1NoteGetAllOutput>;
};