import { EventEmitter, OnChanges } from '@angular/core';
import { FudisComponentChanges, FudisLanguageAbbr } from '../../types/miscellaneous';
import { FudisTranslationService } from '../../services/translation/translation.service';
import { PopoverApiDirective } from '../../directives/popover/popover-api.directive';
import { FudisIdService } from '../../services/id/id.service';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
type LanguageLabel = {
    key: FudisLanguageAbbr;
    variant: 'standard' | 'missing';
};
type LanguageLabelArray = LanguageLabel[];
export declare class LanguageBadgeGroupComponent extends PopoverApiDirective implements OnChanges {
    protected _translationService: FudisTranslationService;
    private _idService;
    constructor(_translationService: FudisTranslationService, _idService: FudisIdService);
    /**
     * Required list of translated languages for Language Badge Group
     */
    translatedLanguages: FudisLanguageAbbr[];
    /**
     * Output Language abbreviation of clicked Badge
     */
    handleClick: EventEmitter<FudisLanguageAbbr | null>;
    /**
     * App language from service
     */
    private _currentAppLang;
    /**
     * App configured selectable languages from service
     */
    private _selectableAppLanguages;
    /**
     * Generated HTML id for the group
     */
    protected _id: string;
    /**
     * Translation for aria-label
     */
    protected _groupAriaLabel: BehaviorSubject<string>;
    /**
     * Internal variable for matching languages and label texts
     */
    protected _languageLabels: BehaviorSubject<LanguageLabelArray>;
    protected _selectedLanguage: FudisLanguageAbbr | null;
    /**
     * Set selected language and emits clicked language
     */
    protected _updateLanguage(value: FudisLanguageAbbr | null): void;
    /**
     * Creates an array to loop in template of wanted Language Badges
     */
    private _setLanguageOptions;
    private _determineSelectedBadge;
    ngOnChanges(changes: FudisComponentChanges<LanguageBadgeGroupComponent>): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LanguageBadgeGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LanguageBadgeGroupComponent, "fudis-language-badge-group", never, { "translatedLanguages": { "alias": "translatedLanguages"; "required": true; }; }, { "handleClick": "handleClick"; }, never, never, false, never>;
}
export {};
