/**
 * -------------------------------------------------------------------------------------------
 * Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.
 * See License in the project root for license information.
 * -------------------------------------------------------------------------------------------
 */
import * as MicrosoftGraph from '@microsoft/microsoft-graph-types';
import '../../styles/fabric-icon-font';
import '../mgt-person/mgt-person';
import { MgtTemplatedComponent } from '../templatedComponent';
/**
 * Web Component which represents events in a user or group calendar.
 *
 * @export
 * @class MgtAgenda
 * @extends {MgtTemplatedComponent}
 */
export declare class MgtAgenda extends MgtTemplatedComponent {
    /**
     * Array of styles to apply to the element. The styles should be defined
     * using the `css` tag function.
     */
    static get styles(): import("lit-element").CSSResult[];
    /**
     * array containg events from user agenda.
     * @type {Array<MicrosoftGraph.Event>}
     */
    events: MicrosoftGraph.Event[];
    /**
     * allows developer to define agenda to group events by day.
     * @type {Boolean}
     */
    groupByDay: boolean;
    /**
     * stores current date for intial calender selection in events.
     * @type {string}
     */
    date: string;
    /**
     * sets number of days until endate, 3 is the default
     * @type {number}
     */
    days: number;
    /**
     * allows developer to specify a different graph query that retrieves events
     * @type {string}
     */
    eventQuery: string;
    /**
     * allows developer to define max number of events shown
     * @type {number}
     */
    showMax: number;
    /**
     * determines if agenda events come from specific group
     * @type {string}
     */
    groupId: string;
    private _firstUpdated;
    /**
     * determines width available for agenda component.
     * @type {boolean}
     */
    private _isNarrow;
    /**
     * determines if agenda component is still loading details.
     * @type {boolean}
     */
    private _loading;
    constructor();
    /**
     * Invoked when the element is first updated. Implement to perform one time
     * work on the element after update.
     *
     * Setting properties inside this method will trigger the element to update
     * again after this update cycle completes.
     *
     * * @param _changedProperties Map of changed properties with old values
     */
    firstUpdated(): void;
    /**
     * Determines width available if resize is necessary, adds onResize event listener to window
     *
     * @memberof MgtAgenda
     */
    connectedCallback(): void;
    /**
     * Removes onResize event listener from window
     *
     * @memberof MgtAgenda
     */
    disconnectedCallback(): void;
    /**
     * Synchronizes property values when attributes change.
     *
     * @param {*} name
     * @param {*} oldValue
     * @param {*} newValue
     * @memberof MgtAgenda
     */
    attributeChangedCallback(name: any, oldValue: any, newValue: any): void;
    /**
     * Invoked on each update to perform rendering tasks. This method must return a lit-html TemplateResult.
     * Setting properties inside this method will not trigger the element to update
     *
     * @returns
     * @memberof MgtAgenda
     */
    render(): import("lit-element").TemplateResult;
    private onResize;
    private loadData;
    private renderAgenda;
    private renderListOfEvents;
    private renderLoading;
    private renderEvent;
    private renderLocation;
    private renderAttendies;
    private eventClicked;
    private getEventTimeString;
    private prettyPrintTimeFromDateTime;
    private getDateHeaderFromDateTimeString;
    private getEventDuration;
}
