import { AlaudaMonacoProviderService } from '@alauda/code-editor';
import { ThemeMode, ThemeService } from '@alauda/ui';
import { AuthorizationStateService } from '../../../../authorization/public-api';
import { TranslateService } from '../../../../translate/public-api';
import * as i0 from "@angular/core";
export interface AccountInfo {
    iss?: string;
    sub?: string;
    aud?: string;
    exp?: number;
    iat?: number;
    azp?: string;
    at_hash?: string;
    email?: string;
    email_verified?: true;
    name?: string;
    token?: string;
    ext?: {
        is_admin?: boolean;
        conn_id?: boolean;
    };
}
export declare class AccountMenuComponent {
    private readonly auth;
    private readonly translate;
    private readonly theme;
    displayName$: import("rxjs").Observable<string>;
    themeMode: string;
    languages: readonly {
        readonly id: string;
        readonly name: string;
    }[];
    $currentLang: import("@angular/core").Signal<string>;
    constructor(auth: AuthorizationStateService, translate: TranslateService, theme: ThemeService, monacoService: AlaudaMonacoProviderService);
    logout(): void;
    changeLanguage(lang: string): void;
    setThemeMode(v: ThemeMode): void;
    private initThemeMode;
    static ɵfac: i0.ɵɵFactoryDeclaration<AccountMenuComponent, [null, null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AccountMenuComponent, "acl-account-menu", never, {}, {}, never, ["*"], false, never>;
}
