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 empty-state - The empty-state slot.
* @slot event-${item.events[0].eventKey} - The event-${item.events[0].eventKey} slot.
*
* @csspart body - The body containing datescale and events
* @csspart container - The main container
* @csspart datescale - The datescale component on the left
* @csspart empty-state - Shown when no events exist
* @csspart event-content - The event content area
* @csspart event-indicator - The colored indicator bar
* @csspart events-wrapper - The wrapper for event rows
*
* @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 {String} --scheduler-agenda-view-font-family - The agenda view font family CSS custom property.
* @cssprop {String} --scheduler-agenda-view-font-letter-spacing - The agenda view font letter spacing CSS custom property.
* @cssprop {String} --scheduler-agenda-view-font-line-height - The agenda view font line height CSS custom property.
* @cssprop {String} --scheduler-agenda-view-font-size - The agenda view font size CSS custom property.
* @cssprop {String} --scheduler-agenda-view-font-text-decoration - The agenda view font text decoration CSS custom property.
* @cssprop {String} --scheduler-agenda-view-font-text-transform - The agenda view font text transform CSS custom property.
* @cssprop {String} --scheduler-agenda-view-font-weight - The agenda view font weight CSS custom property.
* @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 {String} --scheduler-agenda-view-shadow - The agenda view shadow CSS custom property.
* @cssprop {String} --scheduler-agenda-view-shadow-blur - The agenda view shadow blur CSS custom property.
* @cssprop {String} --scheduler-agenda-view-shadow-color - The agenda view shadow color CSS custom property.
* @cssprop {String} --scheduler-agenda-view-shadow-offset-x - The agenda view shadow offset x CSS custom property.
* @cssprop {String} --scheduler-agenda-view-shadow-offset-y - The agenda view shadow offset y CSS custom property.
* @cssprop {String} --scheduler-agenda-view-shadow-spread - The agenda view shadow spread CSS custom property.
* @cssprop {Color} --scheduler-agenda-view-today-background-color - Background color for today's row
* @cssprop {String} --scheduler-agenda-view-transition-duration - The agenda view transition duration CSS custom property.
* @cssprop {String} --scheduler-agenda-view-transition-mode - The agenda view transition mode CSS custom property.
* @cssprop {String} --scheduler-agenda-view-transition-property - The agenda view transition property CSS custom property.
* @cssprop {String} --scheduler-agenda-view-translate - The agenda view translate CSS custom property.
* @cssprop {Color} --scheduler-agenda-view-weekend-background-color - Background color for weekend rows
*
* @dependency mosaik-empty-state - The Empty State element.
* @dependency mosaik-scheduler-datescale - The Scheduler Datescale element.
*
* @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