/**
* The ReportSchedule model module.
* @module Ntnx/ReportSchedule
* @version 4.1.1-beta-1
* @class ReportSchedule
*
* @param { ScheduleInterval } scheduleInterval
*
* @param { Number } frequency Multiple of scheduleInterval. For example, if the scheduleInterval is set to daily and frequency is set to 2, the schedule will run every 2 days.
*
* @param { Date } startTime Start time of the schedule. The value should be in extended ISO-8601 format. For example, 2022-04-23T01:23:45.678+09:00 represents 1:23:45.678 on the 23rd of April 2022. Details around ISO-8601 format can be found at https://www.iso.org/standard/70907.html
*/
export default class ReportSchedule {
/**
* Constructs a ReportSchedule from a plain JavaScript object, optionally creating a new instance.
* Copies all relevant properties from data to obj if supplied or a new instance if not.
* @param {Object} data The plain JavaScript object bearing properties of interest.
* @param {module:Ntnx/ReportSchedule} obj Optional instance to populate.
* @param callFromChild {Boolean} Flag to recognise calling instance
* @return {module:Ntnx/ReportSchedule} The populated ReportSchedule instance.
*/
static constructFromObject(data: any, obj?: any, callFromChild?: boolean): any;
/**
* Converts a given snake_case string to camelCase.
* @param {string} snakeStr - The input string in snake_case format.
* @returns {string} - The converted string in camelCase format.
*/
static snakeToCamel(snakeStr: string): string;
/**
* Constructs a new ReportSchedule.
* Defines the parameters for schdeuling report creation from the report configuration.
* @alias module:Ntnx/ReportSchedule
*
* @param { ScheduleInterval } scheduleInterval
*
* @param { Number } frequency Multiple of scheduleInterval. For example, if the scheduleInterval is set to daily and frequency is set to 2, the schedule will run every 2 days.
*
* @param { Date } startTime Start time of the schedule. The value should be in extended ISO-8601 format. For example, 2022-04-23T01:23:45.678+09:00 represents 1:23:45.678 on the 23rd of April 2022. Details around ISO-8601 format can be found at https://www.iso.org/standard/70907.html
*/
constructor(scheduleInterval: ScheduleInterval, frequency: number, startTime: Date);
scheduleInterval: string;
frequency: number;
startTime: Date;
$objectType: string;
/** @type {object} */
$reserved: object;
/** @type {object} */
$unknownFields: object;
/**
* @return {ScheduleInterval}
*/
getScheduleInterval(): ScheduleInterval;
/**
* @param {ScheduleInterval} scheduleInterval
*/
setScheduleInterval(scheduleInterval: ScheduleInterval): void;
/**
* Returns Multiple of scheduleInterval. For example, if the scheduleInterval is set to daily and frequency is set to 2, the schedule will run every 2 days.
* @return {Number}
*/
getFrequency(): number;
/**
* Sets Multiple of scheduleInterval. For example, if the scheduleInterval is set to daily and frequency is set to 2, the schedule will run every 2 days.
* @param {Number} frequency Multiple of scheduleInterval. For example, if the scheduleInterval is set to daily and frequency is set to 2, the schedule will run every 2 days.
*/
setFrequency(frequency: number): void;
/**
* Returns Start time of the schedule. The value should be in extended ISO-8601 format. For example, 2022-04-23T01:23:45.678+09:00 represents 1:23:45.678 on the 23rd of April 2022. Details around ISO-8601 format can be found at https://www.iso.org/standard/70907.html
* @return {Date}
*/
getStartTime(): Date;
/**
* Sets Start time of the schedule. The value should be in extended ISO-8601 format. For example, 2022-04-23T01:23:45.678+09:00 represents 1:23:45.678 on the 23rd of April 2022. Details around ISO-8601 format can be found at https://www.iso.org/standard/70907.html
* @param {Date} startTime Start time of the schedule. The value should be in extended ISO-8601 format. For example, 2022-04-23T01:23:45.678+09:00 represents 1:23:45.678 on the 23rd of April 2022. Details around ISO-8601 format can be found at https://www.iso.org/standard/70907.html
*/
setStartTime(startTime: Date): void;
/**
* Returns End time of the schedule. The value should be in extended ISO-8601 format. For example, 2022-04-23T01:23:45.678+09:00 represents 1:23:45.678 on the 23rd of April 2022. Details around ISO-8601 format can be found at https://www.iso.org/standard/70907.html
* @return {Date}
*/
getEndTime(): Date;
/**
* Sets End time of the schedule. The value should be in extended ISO-8601 format. For example, 2022-04-23T01:23:45.678+09:00 represents 1:23:45.678 on the 23rd of April 2022. Details around ISO-8601 format can be found at https://www.iso.org/standard/70907.html
* @param {Date} endTime End time of the schedule. The value should be in extended ISO-8601 format. For example, 2022-04-23T01:23:45.678+09:00 represents 1:23:45.678 on the 23rd of April 2022. Details around ISO-8601 format can be found at https://www.iso.org/standard/70907.html
*/
setEndTime(endTime: Date): void;
endTime: Date;
get$Reserved(): any;
get$ObjectType(): string;
get$UnknownFields(): any;
toJson(forMutation: any): any;
validate(scope: any, properties: any, ...args: any[]): Promise;
validateProperty(scope: any, property: any): ValidationError;
#private;
}
import ScheduleInterval from "./ScheduleInterval";
import ValidationError from "../../../validation/ValidationError";