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


interface Credentials {
  uptimeRobotApi: CredentialReference;
}

/** Update a monitor */
export type UptimeRobotV1MaintenanceWindowUpdateParams = {
  resource: 'maintenanceWindow';
  operation: 'update';
/**
 * The ID of the maintenance window
 */
    id?: string | Expression<string> | PlaceholderValue;
/**
 * The maintenance window activation period (minutes)
 */
    duration?: number | Expression<number>;
/**
 * Update Fields
 * @default {}
 */
    updateFields?: {
    /** The friendly name of the maintenance window
     */
    friendly_name?: string | Expression<string> | PlaceholderValue;
    /** The maintenance window start datetime
     */
    start_time?: string | Expression<string>;
    /** The type of the maintenance window
     */
    type?: 1 | 2 | 3 | 4 | Expression<number>;
    /** Week Day
     * @displayOptions.show { type: [3] }
     */
    weekDay?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | Expression<number>;
    /** Month Day
     * @displayOptions.show { type: [4] }
     * @default 1
     */
    monthDay?: number | Expression<number>;
  };
};

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