/**
 * Salesmate Node - Version 1
 * Discriminator: resource=deal, operation=update
 */


interface Credentials {
  salesmateApi: CredentialReference;
}

/** Update a company */
export type SalesmateV1DealUpdateParams = {
  resource: 'deal';
  operation: 'update';
/**
 * Deal ID
 */
    id?: string | Expression<string> | PlaceholderValue;
/**
 * Whether the data should include the fields details
 * @default false
 */
    rawData?: boolean | Expression<boolean>;
/**
 * Update Fields
 * @default {}
 */
    updateFields?: {
    /** Title
     */
    title?: string | Expression<string> | PlaceholderValue;
    /** Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;
     */
    owner?: string | Expression<string>;
    /** Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;
     */
    primaryContact?: string | Expression<string>;
    /** Pipeline
     */
    pipeline?: 'Sales' | Expression<string>;
    /** Status
     * @default Open
     */
    status?: 'Open' | 'Close' | 'Lost' | Expression<string>;
    /** Stage
     */
    stage?: 'Contacted' | 'In Negotiation' | 'New (Untouched)' | 'Proposal Presented' | 'Qualified' | Expression<string>;
    /** Currency
     */
    currency?: string | Expression<string> | PlaceholderValue;
    /** This field contains details related to the deal
     */
    description?: string | Expression<string> | PlaceholderValue;
    /** This field contains tags associated with an deal
     */
    tags?: string | Expression<string> | PlaceholderValue;
    /** Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;
     */
    primaryCompany?: string | Expression<string>;
    /** Source
     * @default Ads
     */
    source?: 'Ads' | 'Referrals' | 'Website' | 'Word of mouth' | Expression<string>;
    /** Estimated Close Date
     */
    estimatedCloseDate?: string | Expression<string>;
    /** Deal Value
     * @default 0
     */
    dealValue?: number | Expression<number>;
    /** Priority
     * @default Medium
     */
    priority?: 'High' | 'Medium' | 'Low' | Expression<string>;
  };
};

export type SalesmateV1DealUpdateNode = {
  type: 'n8n-nodes-base.salesmate';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<SalesmateV1DealUpdateParams>;
};