/**
 * Microsoft SQL Node - Version 1.1
 * Get, add and update data in Microsoft SQL
 */


export interface MicrosoftSqlV11Params {
  operation?: 'executeQuery' | 'insert' | 'update' | 'delete';
/**
 * The SQL query to execute
 * @displayOptions.show { operation: ["executeQuery"] }
 */
    query?: string;
/**
 * Name of the table in which to insert data to
 * @displayOptions.show { operation: ["insert", "update", "delete"] }
 */
    table?: string | Expression<string> | PlaceholderValue;
/**
 * Comma-separated list of the properties which should used as columns for the new rows
 * @displayOptions.show { operation: ["insert", "update"] }
 */
    columns?: string | Expression<string> | PlaceholderValue;
/**
 * Name of the property which decides which rows in the database should be updated. Normally that would be "id".
 * @displayOptions.show { operation: ["update"] }
 * @default id
 */
    updateKey?: string | Expression<string> | PlaceholderValue;
/**
 * Name of the property which decides which rows in the database should be deleted. Normally that would be "id".
 * @displayOptions.show { operation: ["delete"] }
 * @default id
 */
    deleteKey?: string | Expression<string> | PlaceholderValue;
}

export interface MicrosoftSqlV11Credentials {
  microsoftSql: CredentialReference;
}

interface MicrosoftSqlV11NodeBase {
  type: 'n8n-nodes-base.microsoftSql';
  version: 1.1;
  credentials?: MicrosoftSqlV11Credentials;
}

export type MicrosoftSqlV11ParamsNode = MicrosoftSqlV11NodeBase & {
  config: NodeConfig<MicrosoftSqlV11Params>;
};

export type MicrosoftSqlV11Node = MicrosoftSqlV11ParamsNode;