import { SchedulerEventColor, SchedulerResourceId, RecurringEventPresetKey, SchedulerProcessedEventRecurrenceRule, TemporalSupportedObject, SchedulerProcessedDate, TemporalTimezone } from '@mui/x-scheduler-internals/models'; import { Adapter } from '@mui/x-scheduler-internals/use-adapter'; import { EventDialogLocaleText, SchedulerWeekday } from "../../../models/index.mjs"; export interface ControlledValue { startDate: string; startTime: string; endDate: string; endTime: string; resourceId: SchedulerResourceId | null; allDay: boolean; color: SchedulerEventColor | null; recurrenceSelection: RecurringEventPresetKey | null | 'custom'; rruleDraft: SchedulerProcessedEventRecurrenceRule; } export declare const getWeekdayToken: (adapter: Adapter, value: TemporalSupportedObject) => SchedulerWeekday; export type EndsSelection = 'never' | 'after' | 'until'; export declare function computeRange(adapter: Adapter, next: ControlledValue, displayTimezone: TemporalTimezone): { start: Date; end: Date; surfaceType: "day-grid"; } | { start: Date; end: Date; surfaceType: "time-grid"; }; export declare function validateRange(adapter: Adapter, start: TemporalSupportedObject, end: TemporalSupportedObject, allDay: boolean): null | { field: 'startDate' | 'startTime'; }; export declare function getRecurrenceLabel(adapter: Adapter, start: SchedulerProcessedDate, recurrenceKey: RecurringEventPresetKey | 'custom' | null, localeText: EventDialogLocaleText): string; export declare function getEndsSelectionFromRRule(rrule?: { count?: number | null; until?: TemporalSupportedObject | null; }): EndsSelection; type HasProp = T extends Partial> ? T & { [P in K]-?: Exclude } : never; export declare function hasProp(obj: T, prop: K): obj is HasProp; export {};