/**
 * Dropcontact Node - Version 1
 * Find B2B emails and enrich contacts
 */


export interface DropcontactV1Params {
  resource?: 'contact';
  operation?: 'enrich' | 'fetchRequest';
/**
 * Request ID
 * @displayOptions.show { resource: ["contact"], operation: ["fetchRequest"] }
 */
    requestId?: string | Expression<string> | PlaceholderValue;
/**
 * Email
 * @displayOptions.show { resource: ["contact"], operation: ["enrich"] }
 */
    email?: string | Expression<string> | PlaceholderValue;
/**
 * When off, waits for the contact data before completing. Waiting time can be adjusted with Extend Wait Time option. When on, returns a request_id that can be used later in the Fetch Request operation.
 * @displayOptions.show { resource: ["contact"], operation: ["enrich"] }
 * @default false
 */
    simplify?: boolean | Expression<boolean>;
/**
 * Additional Fields
 * @displayOptions.show { resource: ["contact"], operation: ["enrich"] }
 * @default {}
 */
    additionalFields?: {
    /** Company SIREN Number
     */
    num_siren?: string | Expression<string> | PlaceholderValue;
    /** Company SIRET Code
     */
    siret?: string | Expression<string> | PlaceholderValue;
    /** Company Name
     */
    company?: string | Expression<string> | PlaceholderValue;
    /** Country
     */
    country?: string | Expression<string> | PlaceholderValue;
    /** First Name
     */
    first_name?: string | Expression<string> | PlaceholderValue;
    /** Full Name
     */
    full_name?: string | Expression<string> | PlaceholderValue;
    /** Last Name
     */
    last_name?: string | Expression<string> | PlaceholderValue;
    /** LinkedIn Profile
     */
    linkedin?: string | Expression<string> | PlaceholderValue;
    /** Phone Number
     */
    phone?: string | Expression<string> | PlaceholderValue;
    /** Website
     */
    website?: string | Expression<string> | PlaceholderValue;
  };
/**
 * Options
 * @displayOptions.show { resource: ["contact"], operation: ["enrich"] }
 * @default {}
 */
    options?: {
    /** When not simplifying the response, data will be fetched in two steps. This parameter controls how long to wait (in seconds) before trying the second step.
     * @displayOptions.show { /simplify: [false] }
     * @default 45
     */
    waitTime?: number | Expression<number>;
    /** Whether you want the &lt;a href="https://en.wikipedia.org/wiki/SIREN_code" target="_blank"&gt;SIREN number&lt;/a&gt;, NAF code, TVA number, company address and informations about the company leader. Only applies to french companies.
     * @default false
     */
    siren?: boolean | Expression<boolean>;
    /** Whether the response is in English or French
     * @default en
     */
    language?: 'en' | 'fr' | Expression<string>;
  };
}

export interface DropcontactV1Credentials {
  dropcontactApi: CredentialReference;
}

interface DropcontactV1NodeBase {
  type: 'n8n-nodes-base.dropcontact';
  version: 1;
  credentials?: DropcontactV1Credentials;
}

export type DropcontactV1ParamsNode = DropcontactV1NodeBase & {
  config: NodeConfig<DropcontactV1Params>;
};

export type DropcontactV1Node = DropcontactV1ParamsNode;