/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { ICustomElementFoundation } from '@tylertech/forge-core';
import { IAppBarProfileButtonAdapter } from './app-bar-profile-button-adapter';
import { AppBarProfileButtonProfileCardBuilder } from './app-bar-profile-button-constants';
import { IPopoverComponent } from '../../popover/popover';
export interface IAppBarProfileButtonFoundation extends ICustomElementFoundation {
    fullName: string;
    email: string;
    avatarImageUrl: string;
    avatarLetterCount: number;
    avatarText: string;
    avatarIcon: string;
    signOutButton: boolean;
    profileButton: boolean;
    signOutButtonText: string;
    profileButtonText: string;
    open: boolean;
    popupElement: IPopoverComponent | undefined;
    profileCardBuilder: AppBarProfileButtonProfileCardBuilder;
}
export declare class AppBarProfileButtonFoundation implements IAppBarProfileButtonFoundation {
    private _adapter;
    private _fullName;
    private _email;
    private _avatarImageUrl;
    private _avatarLetterCount;
    private _avatarText;
    private _avatarIcon;
    private _showSignOutButton;
    private _showProfileButton;
    private _signOutButtonText;
    private _profileButtonText;
    private _profileCardBuilder;
    private _open;
    private _isInitialized;
    private _clickListener;
    private _dismissListener;
    private _cancelDismissListener;
    private _keydownListener;
    private _profileButtonListener;
    private _signOutButtonListener;
    constructor(_adapter: IAppBarProfileButtonAdapter);
    initialize(): void;
    destroy(): void;
    private _onClick;
    private _onKeydown;
    private _onDismiss;
    private _onProfileButtonClick;
    private _onSignOutButtonClick;
    private _openDropdown;
    private _closeDropdown;
    get fullName(): string;
    set fullName(value: string);
    get email(): string;
    set email(value: string);
    get avatarImageUrl(): string;
    set avatarImageUrl(value: string);
    get avatarLetterCount(): number;
    set avatarLetterCount(value: number);
    get avatarText(): string;
    set avatarText(value: string);
    get avatarIcon(): string;
    set avatarIcon(value: string);
    get signOutButton(): boolean;
    set signOutButton(value: boolean);
    get profileButton(): boolean;
    set profileButton(value: boolean);
    get signOutButtonText(): string;
    set signOutButtonText(value: string);
    get profileButtonText(): string;
    set profileButtonText(value: string);
    get open(): boolean;
    set open(value: boolean);
    get popupElement(): IPopoverComponent | undefined;
    get profileCardBuilder(): AppBarProfileButtonProfileCardBuilder;
    set profileCardBuilder(fn: AppBarProfileButtonProfileCardBuilder);
}
