/**
 * Lemlist Node - Version 2
 * Discriminator: resource=lead, operation=create
 */


interface Credentials {
  lemlistApi: CredentialReference;
}

export type LemlistV2LeadCreateParams = {
  resource: 'lead';
  operation: 'create';
/**
 * ID of the campaign to create the lead under. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
 * @default []
 */
    campaignId?: string | Expression<string>;
/**
 * Email of the lead to create
 */
    email?: string | Expression<string> | PlaceholderValue;
/**
 * Additional Fields
 * @default {}
 */
    additionalFields?: {
    /** Company name of the lead to create
     */
    companyName?: string | Expression<string> | PlaceholderValue;
    /** Company domain of the lead to create
     */
    companyDomain?: string | Expression<string> | PlaceholderValue;
    /** Whether to do not insert if this email is already present in another campaign
     * @default false
     */
    deduplicate?: boolean | Expression<boolean>;
    /** Whether to find verified email
     * @default false
     */
    findEmail?: boolean | Expression<boolean>;
    /** Whether to find phone number
     * @default false
     */
    findPhone?: boolean | Expression<boolean>;
    /** First name of the lead to create
     */
    firstName?: string | Expression<string> | PlaceholderValue;
    /** Icebreaker of the lead to create
     */
    icebreaker?: string | Expression<string> | PlaceholderValue;
    /** Job title of the lead to create
     */
    jobTitle?: string | Expression<string> | PlaceholderValue;
    /** Last name of the lead to create
     */
    lastName?: string | Expression<string> | PlaceholderValue;
    /** Whether to run the LinkedIn enrichment
     * @default false
     */
    linkedinEnrichment?: boolean | Expression<boolean>;
    /** LinkedIn URL of the lead to create
     */
    linkedinUrl?: string | Expression<string> | PlaceholderValue;
    /** Phone number of the lead to create
     */
    phone?: string | Expression<string> | PlaceholderValue;
    /** Picture URL of the lead to create
     */
    picture?: string | Expression<string> | PlaceholderValue;
    /** Whether to verify existing email (debounce)
     * @default false
     */
    verifyEmail?: boolean | Expression<boolean>;
  };
};

export type LemlistV2LeadCreateOutput = {
  _id?: string;
  campaignId?: string;
  campaignName?: string;
  companyName?: string;
  contactId?: string;
  email?: string;
  firstName?: string;
  isPaused?: boolean;
  lastName?: string;
  linkedinUrl?: string;
};

export type LemlistV2LeadCreateNode = {
  type: 'n8n-nodes-base.lemlist';
  version: 2;
  credentials?: Credentials;
  config: NodeConfig<LemlistV2LeadCreateParams>;
  output?: Items<LemlistV2LeadCreateOutput>;
};