import { FoundationElement } from '@microsoft/fast-foundation'; import { baseConfig, CronConfig, RecurrenceType } from './types'; /** * @tagname %%prefix%%-scheduler-cron-builder * * @fires change - Fired when the built cron expression changes */ export declare class SchedulerCronBuilder extends FoundationElement { private getConfigs; /** * Used to store the recurrence type of an event. * This variable determines how often an event repeats including Daily, Weekly, Monthly, Yearly. * See {@link RecurrenceType} * @internal */ recurrence: RecurrenceType; /** * used to store the cron string generated as result of selected input * @example * `"0 30 10 ? * 2-6"` runs on weekdays from monday-friday at 10:30 * */ cron: string; cronChanged(): void; /** * Used to store the cron expression * added to make sync directive work as it checks value field in the change event * @internal */ value: string; /** * Used to store the config for each recurrence type in form of an object. * See {@link CronConfig} * @internal */ cronConfig: CronConfig; /** * Used to store the frequency of an event's recurrence * * Represents the interval between recurrences, based on the {@link RecurrenceType} * * e.g. a value of '3' means that the event occurs every third occurrence (every 3 months for 'MONTHLY' recurrence) * MUST contain a positive value from {@link frequencyList} * @internal */ frequency: string; during: 'every_hour' | 'specific_hours'; get duringOptions(): { label: string; value: string; }[]; /** * The hour at which the event should occurs * @internal */ hours: string; /** * The minute at which the event should occurs * @internal */ minutes: string; /** * The second at which the event should occurs * @internal */ seconds: string; /** * The suffix that appears with frequency field * * @remarks This property updates every time recurrence is changed. * Use it to determine the suffix specific to selected recurrence (e.g. `Days` for `DAILY` recurrenceType). */ get frequencySuffix(): string; /** * The frequency dropdown list * * @remarks This property updates every time recurrence type is changed. * Used to update the list size on basis of recurrence type e.g. 12 for month recurrence */ get frequencyList(): Array; get hourOptions(): { label: string; value: string; }[]; get selectedHours(): string[]; handleHoursChange(e: CustomEvent): void; minMinuteInterval: number; disableTooltips: boolean; get isMinutesRecurrenceEnabled(): boolean; get isSpecificHours(): boolean; get isDailyFrequencyDisabled(): boolean; minMinuteIntervalChanged(): void; timezone: string; connectedCallback(): void; disconnectedCallback(): void; getBaseConfigFields(): baseConfig; /** * sets default value for recurrence in cronConfig and generates cron expression * @internal */ handleRecurrenceChange(): void; /** * change event for each input field including frequency, hours, minutes and seconds * @internal */ handleChange(fieldName: string): void; handleDuringChange(): void; /** * event listener used to update cron config and cron expression * @internal */ handleCronConfigUpdate({ detail }: CustomEvent): void; /** * method that updates cron string on basis of config for each recurrence type * @internal */ generateCronExpressionFromConfig(config: CronConfig): void; /** * parses a cron expression and sets fields from it * @internal */ setsFieldsFromCronEx(): void; } export declare const foundationSchedulerCronBuilderShadowOptions: ShadowRootInit; export declare const defaultCronBuilderConfig: {}; /** * The Foundation Cron Scheduler Builder * * @public * @remarks * HTML Element: \ */ export declare const foundationSchedulerCronBuilder: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ baseName: string; styles: import("@microsoft/fast-element").ElementStyles; template: import("@microsoft/fast-element").ViewTemplate; shadowOptions: ShadowRootInit; }>) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ baseName: string; styles: import("@microsoft/fast-element").ElementStyles; template: import("@microsoft/fast-element").ViewTemplate; shadowOptions: ShadowRootInit; }, typeof SchedulerCronBuilder>; //# sourceMappingURL=scheduler-cron-builder.d.ts.map