/**
 * Salesforce Node - Version 1
 * Discriminator: resource=lead, operation=get
 */


interface Credentials {
  salesforceOAuth2Api: CredentialReference;
  salesforceJwtApi: CredentialReference;
}

/** Represents a prospect or potential */
export type SalesforceV1LeadGetParams = {
  resource: 'lead';
  operation: 'get';
/**
 * OAuth Authorization Flow
 * @default oAuth2
 */
    authentication?: 'oAuth2' | 'jwt' | Expression<string>;
/**
 * ID of Lead that needs to be fetched
 */
    leadId?: string | Expression<string> | PlaceholderValue;
};

export type SalesforceV1LeadGetOutput = {
  attributes?: {
    type?: string;
    url?: string;
  };
  CreatedById?: string;
  CreatedDate?: string;
  EmailBouncedDate?: null;
  EmailBouncedReason?: null;
  GeocodeAccuracy?: null;
  HasOptedOutOfEmail?: boolean;
  Id?: string;
  IndividualId?: null;
  IsConverted?: boolean;
  IsDeleted?: boolean;
  IsPriorityRecord?: boolean;
  IsUnreadByOwner?: boolean;
  Jigsaw?: null;
  JigsawContactId?: null;
  LastModifiedById?: string;
  LastModifiedDate?: string;
  LastName?: string;
  Latitude?: null;
  Longitude?: null;
  MasterRecordId?: null;
  Name?: string;
  OwnerId?: string;
  Status?: string;
  Suffix?: null;
  SystemModstamp?: string;
};

export type SalesforceV1LeadGetNode = {
  type: 'n8n-nodes-base.salesforce';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<SalesforceV1LeadGetParams>;
  output?: Items<SalesforceV1LeadGetOutput>;
};