import { IAppearanceableProps } from '../../../Behaviors/Appearanceable';
import { IDisableableProps } from '../../../Behaviors/Disableable';
import { ILocaleableProps } from '../../../Behaviors/Localeable';
import { ISizeableProps } from '../../../Behaviors/Sizeable';
import { ISlottableProps } from '../../../Behaviors/Slottable';
import { IThemeableProps } from '../../../Behaviors/Themeable';
import { IVariantableProps } from '../../../Behaviors/Variantable';
import type { AllDayVisibility } from '../../../Types/AllDayVisibility';
import { DayOfWeek } from '../../../Types/DayOfWeek';
import type { SchedulerView } from '../../../Types/SchedulerView';
/**
 * Represents the properties for the SchedulerElement.
 *
 * @public
 */
export interface ISchedulerElementProps extends IAppearanceableProps, IVariantableProps, ILocaleableProps, IThemeableProps, ISizeableProps, ISlottableProps, IDisableableProps {
    /**
     * The current view mode of the scheduler.
     *
     * @remarks
     * Available views:
     * - `timeGrid` - Time grid view with configurable day columns (default)
     * - `month` - Month calendar view with event chips
     * - `agenda` - Chronological list view of events
     */
    view: SchedulerView;
    /**
     * The start date for the visible range. When null, defaults to today.
     */
    startDate: Date | null;
    /**
     * The number of days to display in time grid view.
     *
     * @remarks
     * Applies to: `timeGrid` view only.
     * Default depends on configuration: day=1, week=7, workweek=5.
     */
    days: number;
    /**
     * The start hour of the time range (0-23).
     *
     * @remarks
     * Applies to: `timeGrid` view only.
     */
    hourStart: number;
    /**
     * The end hour of the time range (0-23).
     *
     * @remarks
     * Applies to: `timeGrid` view only.
     */
    hourEnd: number;
    /**
     * The step interval in minutes for the time grid.
     *
     * @remarks
     * Applies to: `timeGrid` view only.
     */
    stepMinutes: number;
    /**
     * The timezone for date/time calculations (e.g., 'Europe/Berlin').
     */
    timezone: string;
    /**
     * The blackout dates that should be disabled.
     */
    blackoutDates: Array<Date>;
    /**
     * The special dates that should be visually highlighted.
     */
    specialDates: Array<Date>;
    /**
     * The first day of the week (0 = Sunday, 1 = Monday, etc.).
     */
    firstDayOfWeek: DayOfWeek;
    /**
     * Whether today is visually highlighted.
     */
    isTodayHighlighted: boolean;
    /**
     * Whether weekend columns are visually highlighted.
     */
    isWeekendHighlighted: boolean;
    /**
     * The visibility mode for all-day events.
     *
     * @remarks
     * Applies to: `timeGrid` view only.
     */
    allDayVisibility: AllDayVisibility;
    /**
     * Whether to show week numbers in month view.
     *
     * @remarks
     * Applies to: `month` view only.
     */
    showWeekNumbers: boolean;
    /**
     * Whether to show days from adjacent months in month view.
     *
     * @remarks
     * Applies to: `month` view only.
     */
    showAdjacent: boolean;
    /**
     * The number of days ahead to show in agenda view.
     *
     * @remarks
     * Applies to: `agenda` view only.
     */
    daysAhead: number;
    /**
     * Format string for displaying weekday names in headers.
     *
     * @remarks
     * Uses DateFormatter syntax:
     * - `ddd` - Abbreviated weekday (e.g., "Mon", "Tue")
     * - `dddd` - Full weekday (e.g., "Monday", "Tuesday")
     *
     * @default 'ddd'
     */
    weekdayFormat: string;
    /**
     * Format string for displaying day numbers in headers.
     *
     * @remarks
     * Uses DateFormatter syntax:
     * - `d` - Day without leading zero (e.g., "1", "15")
     * - `dd` - Day with leading zero (e.g., "01", "15")
     *
     * @default 'd'
     */
    dayFormat: string;
    /**
     * Format string for displaying time values.
     *
     * @remarks
     * Uses TimeFormatter syntax:
     * - `HH:mm` - 24-hour format (e.g., "09:30", "14:00")
     * - `h:mm tt` - 12-hour format (e.g., "9:30 AM", "2:00 PM")
     * - `H:mm` - 24-hour without leading zero (e.g., "9:30", "14:00")
     *
     * @default 'HH:mm'
     */
    timeFormat: string;
    /**
     * Format string for displaying adjacent month day labels in month view.
     *
     * @remarks
     * Uses DateFormatter syntax:
     * - `MMM d` - Abbreviated month + day (e.g., "Jan 1")
     * - `MMMM d` - Full month + day (e.g., "January 1")
     * - `M/d` - Numeric format (e.g., "1/1")
     *
     * @default 'MMM d'
     */
    monthDayFormat: string;
}
/**
 * Default values for SchedulerElement properties.
 *
 * @public
 */
export declare namespace ISchedulerElementProps {
    const DEFAULTS: ISchedulerElementProps;
}
//# sourceMappingURL=ISchedulerElementProps.d.ts.map