import { SchedulerView } from '../../../../Types/SchedulerView';
import { SchedulerViewBaseElement } from './Abstracts/SchedulerViewBaseElement';
import { ISchedulerMonthViewElementProps } from './ISchedulerMonthViewElementProps';
/**
* Scheduler Month View - A calendar-style month view with event chips.
*
* @description
* The Month view displays events in a traditional calendar grid layout with weeks as rows
* and days as columns. Events are shown as compact chips within each day cell.
* The view supports week numbers, adjacent month days, and highlighting.
*
* @name Scheduler Month View
* @element mosaik-scheduler-month-view
* @category Scheduler
*
* @slot - Default slot for event content
*
* @csspart container - The main container
* @csspart header - The header row with day labels
* @csspart header-cell - Individual day header cells (Sun, Mon, etc.)
* @csspart week-number-header - The week number column header
* @csspart body - The scrollable body area
* @csspart week-row - A single week row
* @csspart week-number - The week number cell
* @csspart day-cell - Individual day cells
* @csspart day-number - The day number within a cell
* @csspart day-events - Container for event chips in a day
* @csspart event-chip - Individual event chip
*
* @cssprop {Color} --scheduler-month-view-background-color - Background color of the view
* @cssprop {Color} --scheduler-month-view-border-color - Border color
* @cssprop {String} --scheduler-month-view-border-radius - Border radius
* @cssprop {String} --scheduler-month-view-border-style - Border style
* @cssprop {String} --scheduler-month-view-border-width - Border width
* @cssprop {String} --scheduler-month-view-cell-min-height - Minimum height for day cells
* @cssprop {String} --scheduler-month-view-day-number-font-size - Font size for day numbers
* @cssprop {String} --scheduler-month-view-day-number-font-weight - Font weight for day numbers
* @cssprop {String} --scheduler-month-view-event-chip-border-radius - Border radius for event chips
* @cssprop {String} --scheduler-month-view-event-chip-font-size - Font size for event chip text
* @cssprop {String} --scheduler-month-view-event-chip-height - Height of event chips
* @cssprop {Color} --scheduler-month-view-foreground-color - Foreground/text color
* @cssprop {String} --scheduler-month-view-gap - Gap between cells and elements
* @cssprop {String} --scheduler-month-view-header-day-font-family - Font family for day headers
* @cssprop {String} --scheduler-month-view-header-day-font-letter-spacing - Letter spacing for day headers
* @cssprop {String} --scheduler-month-view-header-day-font-line-height - Line height for day headers
* @cssprop {String} --scheduler-month-view-header-day-font-size - Font size for day headers
* @cssprop {String} --scheduler-month-view-header-day-font-text-decoration - Text decoration for day headers
* @cssprop {String} --scheduler-month-view-header-day-font-text-transform - Text transform for day headers
* @cssprop {String} --scheduler-month-view-header-day-font-weight - Font weight for day headers
* @cssprop {String} --scheduler-month-view-header-font-family - Font family for headers
* @cssprop {String} --scheduler-month-view-header-font-letter-spacing - Letter spacing for headers
* @cssprop {String} --scheduler-month-view-header-font-line-height - Line height for headers
* @cssprop {String} --scheduler-month-view-header-font-size - Font size for headers
* @cssprop {String} --scheduler-month-view-header-font-text-decoration - Text decoration for headers
* @cssprop {String} --scheduler-month-view-header-font-text-transform - Text transform for headers
* @cssprop {String} --scheduler-month-view-header-font-weight - Font weight for headers
* @cssprop {String} --scheduler-month-view-header-weekday-font-family - Font family for weekday labels
* @cssprop {String} --scheduler-month-view-header-weekday-font-letter-spacing - Letter spacing for weekday labels
* @cssprop {String} --scheduler-month-view-header-weekday-font-line-height - Line height for weekday labels
* @cssprop {String} --scheduler-month-view-header-weekday-font-size - Font size for weekday labels
* @cssprop {String} --scheduler-month-view-header-weekday-font-text-decoration - Text decoration for weekday labels
* @cssprop {String} --scheduler-month-view-header-weekday-font-text-transform - Text transform for weekday labels
* @cssprop {String} --scheduler-month-view-header-weekday-font-weight - Font weight for weekday labels
* @cssprop {String} --scheduler-month-view-padding-bottom - Bottom padding
* @cssprop {String} --scheduler-month-view-padding-left - Left padding
* @cssprop {String} --scheduler-month-view-padding-right - Right padding
* @cssprop {String} --scheduler-month-view-padding-top - Top padding
* @cssprop {Color} --scheduler-month-view-today-background-color - Background color for today's cell
* @cssprop {Color} --scheduler-month-view-weekend-background-color - Background color for weekend cells
*
* @dependency {HintElement} - Used for "more events" indication
*
* @example
* ```html
*
* ```
*
* @public
*/
export declare class SchedulerMonthViewElement extends SchedulerViewBaseElement implements ISchedulerMonthViewElementProps {
private _showWeekNumbers;
private _showAdjacent;
private _weeks;
private _weekdayHeaders;
private _eventsByDay;
constructor();
/**
* Returns the `is` property.
*
* @public
* @static
* @readonly
*/
static get is(): string;
/**
* Gets the layout mode for this view.
*
* @public
* @override
* @readonly
*/
get view(): SchedulerView;
/**
* Gets or sets whether to show week numbers.
*
* @public
* @attr
*/
get showWeekNumbers(): boolean;
set showWeekNumbers(value: boolean);
/**
* Gets or sets whether to show adjacent month days.
*
* @public
* @attr
*/
get showAdjacent(): boolean;
set showAdjacent(value: boolean);
/**
* Gets the weeks data for rendering.
*
* @public
* @readonly
*/
get weeks(): Array;
/**
* Gets the weekday headers.
*
* @public
* @readonly
*/
get weekdayHeaders(): Array;
/**
* @public
* @override
*/
connectedCallback(): void;
/**
* Called after every update. Ensures the grid is built after all property bindings are applied.
*
* @protected
* @override
*/
protected updated(changedProperties: Map): void;
/**
* Gets events for a specific day.
*
* @public
* @param dayKey - The day key (YYYY-MM-DD).
* @returns Array of events for that day.
*/
getEventsForDay(dayKey: string): Array;
private buildMonthGrid;
private positionEvents;
}
/**
* @public
*/
export declare namespace SchedulerMonthViewElement {
type Props = ISchedulerMonthViewElementProps;
}
/**
* @public
*/
declare global {
interface HTMLElementTagNameMap {
'mosaik-scheduler-month-view': SchedulerMonthViewElement;
}
}
//# sourceMappingURL=SchedulerMonthViewElement.d.ts.map