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
 * <mosaik-scheduler-agenda-view days-ahead="14"></mosaik-scheduler-agenda-view>
 * ```
 *
 * @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<IAgendaViewDay>;
    /**
     * Gets the datescale items for the datescale component.
     *
     * @public
     * @readonly
     */
    get datescaleItems(): Array<IDatescaleItem>;
    /**
     * 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