import { ThingMetadataUnionType } from "../../thing.interface"; export interface IFormScheduleData { /** * The date the form has been scheduled to - only applicable to fixed date schedules * * @type {number} * @memberof IFormScheduleData */ date?: number; /** * The user field that determines the schedule date for each user - only applicable to relative date schedules. * * @type {string} * @memberof IFormScheduleData */ userField?: string; /** * The offset to apply to the userField date in order to determine the schedule date. Can be positive or negative - only applicable to relative date schedules. * * @memberof IFormScheduleData */ offset?: { unit?: string; value?: number; }; /** * An additional offset is used when the schedule has an offset to the initial date and a recurrence of different time units. * * When determining the actual schedule date for an user, consider both the offset and the additional offset - only applicable to relative date schedules. * * e.g. offset = 1 day; additional offset = 1 year (one year after the day after the user's date). * * @memberof IFormScheduleData */ additionalOffset?: { unit?: string; value?: number; }; /** * The number of days a schedule can be answered until it is considered expired. * * @type {number} * @memberof IFormScheduleData */ expireAfterDays?: number; /** * The guid of the form the schedule applies to. * * @type {string} * @memberof IFormScheduleData */ form?: string; /** * The guid of the role the schedule applies to. * * @type {string} * @memberof IFormScheduleData */ role?: string; /** * True if schedule no longer applies. * * @type {boolean} * @memberof IFormScheduleData */ disabled?: boolean; } export declare class FormScheduleData implements IFormScheduleData { date?: number; userField?: string; offset?: { unit?: string; value?: number; }; additionalOffset?: { unit?: string; value?: number; }; expireAfterDays?: number; form?: string; role?: string; disabled?: boolean; constructor(obj?: IFormScheduleData); } export declare class FormSchedule { guid?: string; clazz?: 'Thing'; data?: FormScheduleData; metadata?: ThingMetadataUnionType; organization?: string; type?: string; constructor(obj?: any); }