/**
 * -------------------------------------------------------------------------------------------
 * 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 { TemplateResult } from 'lit-element';
import { MgtTemplatedComponent } from '../templatedComponent';
/**
 * Web Component used to show detailed data for a person in the
 * Microsoft Graph
 *
 * @export
 * @class MgtPersonCard
 * @extends {MgtTemplatedComponent}
 */
export declare class MgtPersonCard 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[];
    /**
     * Set the person details to render
     *
     * @type {(MicrosoftGraph.User
     *     | MicrosoftGraph.Person
     *     | MicrosoftGraph.Contact)}
     * @memberof MgtPersonCard
     */
    personDetails: MicrosoftGraph.User | MicrosoftGraph.Person | MicrosoftGraph.Contact;
    /**
     * Set the image of the person
     * Set to '@' to look up image from the graph
     *
     * @type {string}
     * @memberof MgtPersonCard
     */
    personImage: string;
    /**
     * Gets or sets whether additional details section is rendered
     *
     * @type {boolean}
     * @memberof MgtPersonCard
     */
    isExpanded: boolean;
    /**
     * Gets or sets whether additional details should be inherited from an mgt-person parent
     * Useful when used as template in an mgt-person component
     *
     * @type {boolean}
     * @memberof MgtPersonCard
     */
    inheritDetails: boolean;
    /**
     * Synchronizes property values when attributes change.
     *
     * @param {*} name
     * @param {*} oldValue
     * @param {*} newValue
     * @memberof MgtPersonCard
     */
    attributeChangedCallback(name: any, oldValue: any, newValue: any): void;
    /**
     * 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;
    /**
     * 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.
     */
    protected render(): TemplateResult;
    private renderIcons;
    private renderAdditionalDetails;
    private _showAdditionalDetails;
    private _callUser;
    private _emailUser;
    private _chatUser;
    private loadData;
    private handleClose;
    private getImage;
}
