/**
 * UptimeRobot Node - Version 1
 * Discriminator: resource=monitor, operation=update
 */


interface Credentials {
  uptimeRobotApi: CredentialReference;
}

/** Update a monitor */
export type UptimeRobotV1MonitorUpdateParams = {
  resource: 'monitor';
  operation: 'update';
/**
 * The ID of the monitor
 */
    id?: string | Expression<string> | PlaceholderValue;
/**
 * Update Fields
 * @default {}
 */
    updateFields?: {
    /** The friendly name of the monitor
     */
    friendly_name?: string | Expression<string> | PlaceholderValue;
    /** The authentication type for password-protected web pages
     */
    http_auth_type?: 1 | 2 | Expression<number>;
    /** The HTTP method to be used
     */
    http_method?: 6 | 2 | 1 | 7 | 5 | 3 | 4 | Expression<number>;
    /** The password used for password-protected web pages
     */
    http_password?: string | Expression<string> | PlaceholderValue;
    /** The username used for password-protected web pages
     */
    http_username?: string | Expression<string> | PlaceholderValue;
    /** The interval for the monitoring check
     */
    interval?: number | Expression<number>;
    /** The monitored port
     */
    port?: number | Expression<number>;
    /** Select monitor statuses
     */
    status?: 0 | 1 | Expression<number>;
    /** Specify which pre-defined port/service or custom port is monitored
     */
    sub_type?: 99 | 3 | 1 | 2 | 6 | 5 | 4 | Expression<number>;
    /** The URL/IP of the monitor
     */
    url?: string | Expression<string> | PlaceholderValue;
  };
};

export type UptimeRobotV1MonitorUpdateNode = {
  type: 'n8n-nodes-base.uptimeRobot';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<UptimeRobotV1MonitorUpdateParams>;
};