import { SchedulerView } from '../../../../Types/SchedulerView';
import { IDatescaleItem } from '../ISchedulerDatescaleElementProps';
import { SchedulerViewBaseElement } from './Abstracts/SchedulerViewBaseElement';
import { ISchedulerAgendaViewElementProps } from './ISchedulerAgendaViewElementProps';
/**
* Scheduler Agenda View - A chronological list view of events.
*
* @description
* The Agenda view displays events in a vertical list format, grouped by day.
* Each day shows the date on the left via the datescale component, and the
* event details on the right. This view is ideal for seeing upcoming events
* at a glance without the visual overhead of a calendar grid.
*
* @name Scheduler Agenda View
* @element mosaik-scheduler-agenda-view
* @category Scheduler
*
* @slot - Default slot for event content
*
* @csspart container - The main container
* @csspart body - The body containing datescale and events
* @csspart datescale - The datescale component on the left
* @csspart events-wrapper - The wrapper for event rows
* @csspart event-row - Individual event row
* @csspart event-indicator - The colored indicator bar
* @csspart event-content - The event content area
* @csspart event-title - The event title
* @csspart event-time - The event time range
* @csspart empty-state - Shown when no events exist
*
* @cssprop {Color} --scheduler-agenda-view-background-color - Background color of the view
* @cssprop {Color} --scheduler-agenda-view-border-color - Border color
* @cssprop {String} --scheduler-agenda-view-border-radius - Border radius
* @cssprop {String} --scheduler-agenda-view-border-style - Border style
* @cssprop {String} --scheduler-agenda-view-border-width - Border width
* @cssprop {String} --scheduler-agenda-view-day-header-font-size - Font size for day headers
* @cssprop {String} --scheduler-agenda-view-day-header-font-weight - Font weight for day headers
* @cssprop {String} --scheduler-agenda-view-event-item-padding-bottom - Bottom padding for event items
* @cssprop {String} --scheduler-agenda-view-event-item-padding-left - Left padding for event items
* @cssprop {String} --scheduler-agenda-view-event-item-padding-right - Right padding for event items
* @cssprop {String} --scheduler-agenda-view-event-item-padding-top - Top padding for event items
* @cssprop {String} --scheduler-agenda-view-event-row-min-height - Minimum height for event rows
* @cssprop {String} --scheduler-agenda-view-event-time-font-size - Font size for event time display
* @cssprop {String} --scheduler-agenda-view-event-title-font-size - Font size for event titles
* @cssprop {String} --scheduler-agenda-view-event-title-font-weight - Font weight for event titles
* @cssprop {Color} --scheduler-agenda-view-foreground-color - Foreground/text color
* @cssprop {String} --scheduler-agenda-view-gap - Gap between elements
* @cssprop {String} --scheduler-agenda-view-padding-bottom - Bottom padding
* @cssprop {String} --scheduler-agenda-view-padding-left - Left padding
* @cssprop {String} --scheduler-agenda-view-padding-right - Right padding
* @cssprop {String} --scheduler-agenda-view-padding-top - Top padding
* @cssprop {Color} --scheduler-agenda-view-today-background-color - Background color for today's row
* @cssprop {Color} --scheduler-agenda-view-weekend-background-color - Background color for weekend rows
*
* @dependency {SchedulerDatescaleElement} - Datescale component for date display
*
* @example
* ```html
*
* ```
*
* @public
*/
export declare class SchedulerAgendaViewElement extends SchedulerViewBaseElement implements ISchedulerAgendaViewElementProps {
private _daysAhead;
private _agendaItems;
private _datescaleItems;
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 the number of days ahead to display.
*
* @public
* @attr
*/
get daysAhead(): number;
set daysAhead(value: number);
/**
* Gets the agenda items for rendering.
*
* @public
* @readonly
*/
get agendaItems(): Array;
/**
* Gets the datescale items for the datescale component.
*
* @public
* @readonly
*/
get datescaleItems(): Array;
/**
* Returns whether there are any events to display.
*
* @public
* @readonly
*/
get hasEvents(): boolean;
/**
* @public
* @override
*/
connectedCallback(): void;
/**
* Formats the time range for display.
*
* @public
* @param startTime - The start time.
* @param endTime - The end time.
* @returns Formatted time range string.
*/
formatTimeRange(startTime: Date, endTime: Date): string;
protected onPropertyChanged(): void;
private buildAgendaList;
}
/**
* @public
*/
export declare namespace SchedulerAgendaViewElement {
type Props = ISchedulerAgendaViewElementProps;
}
/**
* @public
*/
declare global {
interface HTMLElementTagNameMap {
'mosaik-scheduler-agenda-view': SchedulerAgendaViewElement;
}
}
//# sourceMappingURL=SchedulerAgendaViewElement.d.ts.map