import { EventEmitter, OnChanges, OnInit } from '@angular/core';
import { FudisComponentChanges, FudisLanguageAbbr } from '../../../types/miscellaneous';
import { FudisTranslationService } from '../../../services/translation/translation.service';
import { FudisTranslationLanguageBadgeAriaLabel } from '../../../services/translation/translationKeys';
import { FudisIdService } from '../../../services/id/id.service';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class LanguageBadgeComponent implements OnChanges, OnInit {
    private _translationService;
    private _idService;
    constructor(_translationService: FudisTranslationService, _idService: FudisIdService);
    language: FudisLanguageAbbr;
    parentId: string;
    selected: boolean;
    variant: 'standard' | 'missing';
    ariaLabel: string;
    /**
     * Click handler outputting clicked language abbreviation
     */
    handleClick: EventEmitter<FudisLanguageAbbr>;
    /**
     * Label string of the badge
     */
    protected _badgeLabel: BehaviorSubject<string>;
    /**
     * Internal variable for selected translation aria-label
     */
    protected _selectedTranslation: string;
    /**
     * Internal variable for missing translation aria-label
     */
    protected _missingTranslation: string;
    protected _labelTranslations: FudisTranslationLanguageBadgeAriaLabel;
    /**
     * Generated HTML id
     */
    protected _id: string;
    ngOnInit(): void;
    ngOnChanges(changes: FudisComponentChanges<LanguageBadgeComponent>): void;
    /**
     * Emit badge's language on click
     */
    protected _handleLanguageSelect(): void;
    /**
     * Define correct label for Badge
     */
    private _setLabel;
    static ɵfac: i0.ɵɵFactoryDeclaration<LanguageBadgeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LanguageBadgeComponent, "fudis-language-badge", never, { "language": { "alias": "language"; "required": true; }; "parentId": { "alias": "parentId"; "required": true; }; "selected": { "alias": "selected"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, { "handleClick": "handleClick"; }, never, never, false, never>;
}
