/**
 * Lemlist Trigger Node - Version 1
 * Handle Lemlist events via webhooks
 */


export interface LemlistTriggerV1Params {
  event?: '*' | 'contacted' | 'hooked' | 'attracted' | 'warmed' | 'interested' | 'skipped' | 'notInterested' | 'emailsSent' | 'emailsOpened' | 'emailsClicked' | 'emailsReplied' | 'emailsBounced' | 'emailsSendFailed' | 'emailsFailed' | 'emailsUnsubscribed' | 'emailsInterested' | 'emailsNotInterested' | 'opportunitiesDone' | 'aircallCreated' | 'aircallEnded' | 'aircallDone' | 'aircallInterested' | 'aircallNotInterested' | 'apiDone' | 'apiInterested' | 'apiNotInterested' | 'apiFailed' | 'linkedinVisitDone' | 'linkedinVisitFailed' | 'linkedinInviteDone' | 'linkedinInviteFailed' | 'linkedinInviteAccepted' | 'linkedinReplied' | 'linkedinSent' | 'linkedinVoiceNoteDone' | 'linkedinVoiceNoteFailed' | 'linkedinInterested' | 'linkedinNotInterested' | 'linkedinSendFailed' | 'manualInterested' | 'manualNotInterested' | 'paused' | 'resumed' | 'customDomainErrors' | 'connectionIssue' | 'sendLimitReached' | 'lemwarmPaused' | Expression<string>;
  options?: {
    /** We'll call this hook only for this campaignId. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
     */
    campaignId?: string | Expression<string>;
    /** Whether to call this hook only the first time this activity happened
     * @default false
     */
    isFirst?: boolean | Expression<boolean>;
  };
}

export interface LemlistTriggerV1Credentials {
  lemlistApi: CredentialReference;
}

interface LemlistTriggerV1NodeBase {
  type: 'n8n-nodes-base.lemlistTrigger';
  version: 1;
  credentials?: LemlistTriggerV1Credentials;
  isTrigger: true;
}

export type LemlistTriggerV1ParamsNode = LemlistTriggerV1NodeBase & {
  config: NodeConfig<LemlistTriggerV1Params>;
};

export type LemlistTriggerV1Node = LemlistTriggerV1ParamsNode;