import { EventEmitter, OnInit } from '@angular/core';
import { PopoverSelectorMetadata } from '../popover-selector/types';
import { LanguageSelectorMetadata } from './types';
import * as i0 from "@angular/core";
export declare class LanguageSelectorComponent implements OnInit {
    /**
     * Language selector configuration object.
     */
    props: LanguageSelectorMetadata;
    /**
     * Event emitted when the language selection changes.
     * Emits the selected language code.
     */
    languageChange: EventEmitter<string>;
    /** Popover selector configuration (for default mode) */
    popoverProps: PopoverSelectorMetadata;
    /** Unique ID for the icon mode popover trigger */
    popoverId: string;
    /** Available languages (exposed for icon mode template) */
    availableLanguages: string[];
    /** Current language (exposed for icon mode template) */
    currentLanguage: string;
    private i18n;
    /** Default language display names */
    readonly defaultLanguageNames: Record<string, string>;
    /** Default flag icons for languages */
    readonly defaultLanguageFlags: Record<string, string>;
    constructor();
    ngOnInit(): void;
    private initializePopoverProps;
    /** Get display name for a language code (public for template access) */
    getLanguageDisplayName(languageCode: string): string;
    /**
     * Handle language selection change.
     * @param selectedLanguage - The selected language code(s)
     */
    onLanguageChange(selectedLanguage: string | string[]): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LanguageSelectorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LanguageSelectorComponent, "val-language-selector", never, { "props": { "alias": "props"; "required": false; }; }, { "languageChange": "languageChange"; }, never, never, true, never>;
}
