import { Observable, BehaviorSubject, Subject } from 'rxjs';
import { Nullable, ObjectPathType } from '@fundamental-ngx/cdk/utils';
import * as i0 from '@angular/core';
import { PipeTransform, DestroyRef, ChangeDetectorRef, FactoryProvider, Signal, InjectionToken } from '@angular/core';

type FdLanguageKeyArgs = Nullable<Record<string, string | number | boolean>>;
type FdLanguageKeyFunction<T> = T extends undefined ? () => string : (args: T) => string;
type FdLanguageKey<T = undefined> = string | FdLanguageKeyFunction<T>;

/**
 * Representation of the dictionary per UI component
 */
interface FdLanguage {
    coreBusyIndicator: {
        /** Aria valuetext for the busy indicator */
        defaultAriaValueText: FdLanguageKey;
        /** Title for the busy indicator */
        defaultTitle: FdLanguageKey;
    };
    coreCalendar: {
        /** Year selection aria label. Used on the button to navigate to the years view. */
        yearSelectionLabel: FdLanguageKey;
        /** Years range selection aria label. Used on the button to navigate to the years range view. */
        yearsRangeSelectionLabel: FdLanguageKey;
        /** Month selection aria label. Used on the button to navigate to the months view. */
        monthSelectionLabel: FdLanguageKey;
        /** Day selection aria label. Used on the button to navigate to the day view. */
        dateSelectionLabel: FdLanguageKey;
        /** Previous year aria label. Used on the button to switch to a previous year in the years view. */
        previousYearLabel: FdLanguageKey;
        /** Next year aria label. Used on the button to switch to a next year in the years view. */
        nextYearLabel: FdLanguageKey;
        /** Previous month aria label. Used on the button to switch to a previous month in the months view. */
        previousMonthLabel: FdLanguageKey;
        /** Next month aria label. Used on the button to switch to a next month in the months view. */
        nextMonthLabel: FdLanguageKey;
        /** Week number column label */
        weekColumnLabel: FdLanguageKey;
        /** Selected date label. Used on the selected day/month/year cell. */
        dateSelectedLabel: FdLanguageKey;
        /** Is used to describe present date */
        todayLabel: FdLanguageKey;
        /** Range start label. Used for date range selection */
        rangeStartLabel: FdLanguageKey;
        /** Range end label. Used for date range selection */
        rangeEndLabel: FdLanguageKey;
        /** Past days aria label. Used when days in the past are accessed */
        dayInPastLabel: FdLanguageKey;
        /** Past days aria label. Used when days in the past are accessed */
        closeCalendarLabel: FdLanguageKey;
        /** Calendar day view aria role description. */
        calendarDayViewDescription: FdLanguageKey;
        /** Calendar month view aria role description. */
        calendarMonthViewDescription: FdLanguageKey;
        /** Calendar years view aria role description. */
        calendarYearsViewDescription: FdLanguageKey;
        /** Calendar years range view aria role description. */
        calendarYearsRangeViewDescription: FdLanguageKey;
        /** Label for work days in the calendar legend. */
        workDayLabel: FdLanguageKey;
        /** Label for non-work days in the calendar legend. */
        nonWorkDayLabel: FdLanguageKey;
    };
    coreMultiComboBox: {
        /** Label for the multi-combobox. */
        multiComboBoxAriaLabel: FdLanguageKey;
        selectAllLabel: FdLanguageKey;
        listGroupHeader: FdLanguageKey;
    };
    coreCarousel: {
        pageIndicatorLabel: FdLanguageKey;
        leftNavigationBtnLabel: FdLanguageKey;
        rightNavigationBtnLabel: FdLanguageKey;
    };
    coreCombobox: {
        /** Title for the clear input button in combobox */
        clearButtonTitle: FdLanguageKey;
    };
    coreDatePicker: {
        dateInputLabel: FdLanguageKey;
        dateRangeInputLabel: FdLanguageKey;
        displayCalendarToggleLabel: FdLanguageKey;
        valueStateSuccessMessage: FdLanguageKey;
        valueStateInformationMessage: FdLanguageKey;
        valueStateWarningMessage: FdLanguageKey;
        valueStateErrorMessage: FdLanguageKey;
    };
    coreDatetimePicker: {
        datetimeInputLabel: FdLanguageKey;
        displayDatetimeToggleLabel: FdLanguageKey;
        displayTypeDateLabel: FdLanguageKey;
        displayTypeTimeLabel: FdLanguageKey;
        datetimeOkLabel: FdLanguageKey;
        datetimeCancelLabel: FdLanguageKey;
    };
    coreDynamicPage: {
        expandLabel: FdLanguageKey;
        collapseLabel: FdLanguageKey;
        pinLabel: FdLanguageKey;
        unpinLabel: FdLanguageKey;
    };
    coreFeedListItem: {
        moreLabel: FdLanguageKey;
        lessLabel: FdLanguageKey;
    };
    coreGridList: {
        filterBarCancelButtonTitle: FdLanguageKey;
        /** @param status */
        listItemStatusAriaLabel: FdLanguageKey<{
            status: string;
        }>;
        /** @param count */
        listItemCounterAriaLabel: FdLanguageKey<{
            count: number;
        }>;
        listItemButtonDetailsTitle: FdLanguageKey;
        listItemButtonDeleteTitle: FdLanguageKey;
        listItemStatusContainsErrors: FdLanguageKey;
        listItemStatusLocked: FdLanguageKey;
        listItemStatusDraft: FdLanguageKey;
    };
    coreMessageStrip: {
        dismissLabel: FdLanguageKey;
        announcementInfo: FdLanguageKey;
        announcementWarning: FdLanguageKey;
        announcementError: FdLanguageKey;
        announcementSuccess: FdLanguageKey;
        closable: FdLanguageKey;
    };
    coreMultiInput: {
        multiInputAriaLabel: FdLanguageKey;
        tokensCountText: FdLanguageKey;
        noResults: FdLanguageKey;
        navigateSelectionsWithArrows: FdLanguageKey;
        escapeNavigateTokens: FdLanguageKey;
        countListResultsSingular: FdLanguageKey<{
            count: number;
        }>;
        countListResultsPlural: FdLanguageKey<{
            count: number;
        }>;
    };
    coreNavigation: {
        mainNavigation: FdLanguageKey;
        navigationPath: FdLanguageKey;
    };
    coreNestedList: {
        /**
         * @param itemDetails
         * @param index
         * @param total
         * @param selectedDescription
         */
        linkItemAriaLabel: FdLanguageKey<{
            itemDetails: string;
            index: number;
            total: number;
            selectedDescription: string;
        }>;
    };
    coreOverflowLayout: {
        /** @param count */
        moreItemsButton: FdLanguageKey<{
            count: number;
        }>;
    };
    corePagination: {
        /** @param pageNumber */
        pageLabel: FdLanguageKey<{
            pageNumber: number;
        }>;
        /**
         * @param pageNumber
         * @param totalCount
         */
        currentPageAriaLabel: FdLanguageKey<{
            pageNumber: number;
            totalCount: number;
        }>;
        /**
         * @param pageNumber
         * @param totalCount
         */
        labelBeforeInputMobile: FdLanguageKey<{
            pageNumber: number;
            totalCount: number;
        }>;
        /**
         * @param pageNumber
         * @param totalCount
         */
        labelAfterInputMobile: FdLanguageKey<{
            pageNumber: number;
            totalCount: number;
        }>;
        /**
         * @param pageNumber
         * @param totalCount
         */
        inputAriaLabel: FdLanguageKey<{
            pageNumber: number;
            totalCount: number;
        }>;
        itemsPerPageLabel: FdLanguageKey;
        firstLabel: FdLanguageKey;
        previousLabel: FdLanguageKey;
        nextLabel: FdLanguageKey;
        lastLabel: FdLanguageKey;
        ariaLabel: FdLanguageKey;
        /**
         * @param totalCount
         * @param from
         * @param to
         */
        totalResultsLabel: FdLanguageKey<{
            totalCount: number;
            from: number;
            to: number;
        }>;
    };
    coreProductSwitch: {
        ariaLabel: FdLanguageKey;
    };
    coreShellbar: {
        collapsedItemMenuLabel: FdLanguageKey;
        cancel: FdLanguageKey;
        search: FdLanguageKey;
        assistiveTools: FdLanguageKey;
        backButtonLabel: FdLanguageKey;
        navigationButtonLabel: FdLanguageKey;
    };
    coreSlider: {
        /**
         * @param min
         * @param max
         */
        singleMinMaxDetails: FdLanguageKey<{
            min: number;
            max: number;
        }>;
        /** @param value */
        singleValueminDetails: FdLanguageKey<{
            value: number | string;
        }>;
        /** @param value */
        singleValuemaxDetails: FdLanguageKey<{
            value: number | string;
        }>;
        /** @param value */
        singleValueNowDetails: FdLanguageKey<{
            value: number | string;
        }>;
        /**
         * @param min
         * @param max
         */
        multipleHandle1MinMaxDetails: FdLanguageKey<{
            min: number;
            max: number;
        }>;
        /** @param value */
        multipleHandle1ValueminDetails: FdLanguageKey<{
            value: number | string;
        }>;
        /** @param value */
        multipleHandle1ValuemaxDetails: FdLanguageKey<{
            value: number | string;
        }>;
        /** @param value */
        multipleHandle1ValueNowDetails: FdLanguageKey<{
            value: number | string;
        }>;
        /**
         * @param min
         * @param max
         */
        multipleHandle2MinMaxDetails: FdLanguageKey<{
            min: number;
            max: number;
        }>;
        /** @param value */
        multipleHandle2ValueminDetails: FdLanguageKey<{
            value: number | string;
        }>;
        /** @param value */
        multipleHandle2ValuemaxDetails: FdLanguageKey<{
            value: number | string;
        }>;
        /** @param value */
        multipleHandle2ValueNowDetails: FdLanguageKey<{
            value: number | string;
        }>;
    };
    coreSplitButton: {
        expandButtonAriaLabel: FdLanguageKey;
        arialLabel: FdLanguageKey;
    };
    coreSplitter: {
        paginationItemAriaLabel: FdLanguageKey;
    };
    coreStepInput: {
        incrementButtonTitle: FdLanguageKey;
        decrementButtonTitle: FdLanguageKey;
        ariaRoleDescription: FdLanguageKey;
    };
    coreSwitch: {
        semanticAcceptLabel: FdLanguageKey;
        semanticDeclineLabel: FdLanguageKey;
    };
    coreTabs: {
        tabListExpandButtonText: FdLanguageKey;
    };
    coreText: {
        moreLabel: FdLanguageKey;
        lessLabel: FdLanguageKey;
    };
    coreTime: {
        /** Aria label for entire component */
        componentAriaName: FdLanguageKey;
        /** Aria label for the 'increase hours' button */
        increaseHoursLabel: FdLanguageKey;
        /** label for the 'hours' column */
        hrsLabel: FdLanguageKey;
        /** full label for the 'hours' column */
        hoursLabel: FdLanguageKey;
        /** Aria label for the 'decrease hours' button */
        decreaseHoursLabel: FdLanguageKey;
        /** Aria label for the 'increase minutes' button */
        increaseMinutesLabel: FdLanguageKey;
        /** label for the 'minutes' column */
        minLabel: FdLanguageKey;
        /** full label for the 'minutes' column */
        minutesLabel: FdLanguageKey;
        /** Aria label for the 'decrease minutes' button */
        decreaseMinutesLabel: FdLanguageKey;
        /** Aria label for the 'increase seconds' button */
        increaseSecondsLabel: FdLanguageKey;
        /** label for the 'seconds' column */
        secLabel: FdLanguageKey;
        /** full label for the 'seconds' column */
        secondsLabel: FdLanguageKey;
        /** Aria label for the 'decrease seconds' button */
        decreaseSecondsLabel: FdLanguageKey;
        /** Aria label for the 'increase period' button */
        increasePeriodLabel: FdLanguageKey;
        /** label for the 'period' column */
        periodLabel: FdLanguageKey;
        /** Aria label for the 'decrease period' button */
        decreasePeriodLabel: FdLanguageKey;
        /**
         * Instruction how to navigate between options
         * in the time column list and to switch between time columns
         */
        navigationInstruction: FdLanguageKey;
    };
    coreTimePicker: {
        timePickerInputLabel: FdLanguageKey;
        timePickerButtonLabel: FdLanguageKey;
    };
    coreToken: {
        deleteButtonLabel: FdLanguageKey;
        ariaRoleDescription: FdLanguageKey;
    };
    coreTokenizer: {
        moreLabel: FdLanguageKey;
        tokenizerLabel: FdLanguageKey;
    };
    coreUploadCollection: {
        menuOkText: FdLanguageKey;
        menuCancelText: FdLanguageKey;
        menuEditAriaLabel: FdLanguageKey;
        menuDeleteAriaLabel: FdLanguageKey;
        menuOkAriaLabel: FdLanguageKey;
        menuCancelAriaLabel: FdLanguageKey;
        formItemPlaceholder: FdLanguageKey;
    };
    coreWizard: {
        ariaLabel: FdLanguageKey;
    };
    coreBreadcrumb: {
        overflowTitleMore: FdLanguageKey;
    };
    coreTree: {
        expand: FdLanguageKey;
        collapse: FdLanguageKey;
        noData: FdLanguageKey;
    };
    platformApprovalFlow: {
        defaultWatchersLabel: FdLanguageKey;
        defaultTitle: FdLanguageKey;
        emptyTitle: FdLanguageKey;
        emptyHint: FdLanguageKey;
        prevButtonAriaLabel: FdLanguageKey;
        nextButtonAriaLabel: FdLanguageKey;
        editModeSaveButtonLabel: FdLanguageKey;
        editModeExitButtonLabel: FdLanguageKey;
        addNodeDialogHeaderAddApprovers: FdLanguageKey;
        addNodeDialogHeaderEditApprover: FdLanguageKey;
        addNodeDialogHeaderAddApproverTeam: FdLanguageKey;
        addNodeDialogHeaderDetail: FdLanguageKey;
        addNodeDialogNodeType: FdLanguageKey;
        addNodeDialogNodeTypeSerial: FdLanguageKey;
        addNodeDialogNodeTypeParallel: FdLanguageKey;
        addNodeDialogApproverType: FdLanguageKey;
        addNodeDialogApproverTypeUser: FdLanguageKey;
        addNodeDialogApproverTypeTeamAnyone: FdLanguageKey;
        addNodeDialogApproverTypeTeamEveryone: FdLanguageKey;
        addNodeDialogUserOrTeam: FdLanguageKey;
        addNodeDialogAddToNext: FdLanguageKey;
        addNodeDialogDueDate: FdLanguageKey;
        addNodeSearchPlaceholder: FdLanguageKey;
        addNodeAddActionBtnLabel: FdLanguageKey;
        addNodeCancelActionBtnLabel: FdLanguageKey;
        addNodeSelectApproverActionBtnLabel: FdLanguageKey;
        addNodeCancelApproverSelectionActionBtnLabel: FdLanguageKey;
        addNodeApproverOrTeamDetailsCloseActionBtnLabel: FdLanguageKey;
        userDetailsHeader: FdLanguageKey;
        userDetailsSendReminderBtnLabel: FdLanguageKey;
        userDetailsCancelBtnLabel: FdLanguageKey;
        messagesApproverAddedSuccess: FdLanguageKey;
        messagesTeamAddedSuccess: FdLanguageKey;
        messagesNodeEdited: FdLanguageKey;
        messagesNodeRemovedSingular: FdLanguageKey;
        messagesNodeRemovedPlural: FdLanguageKey;
        messagesTeamRemoved: FdLanguageKey;
        messagesErrorBuildGraph: FdLanguageKey;
        messagesUndoAction: FdLanguageKey;
        /** @param count */
        nodeMembersCount: FdLanguageKey<{
            count: number;
        }>;
        nodeVariousTeams: FdLanguageKey;
        nodeStatusDueToday: FdLanguageKey;
        /** @param count */
        nodeStatusDueInXDays: FdLanguageKey<{
            count: number;
        }>;
        /** @param count */
        nodeStatusXDaysOverdue: FdLanguageKey<{
            count: number;
        }>;
        addNodeButtonTitle: FdLanguageKey;
        nodeMenuButtonTitle: FdLanguageKey;
        nodeActionAddApproversBefore: FdLanguageKey;
        nodeActionAddApproversAfter: FdLanguageKey;
        nodeActionAddApproversParallel: FdLanguageKey;
        nodeActionEditApprover: FdLanguageKey;
        nodeActionRemove: FdLanguageKey;
        selectTypeDialogMoveApproverAs: FdLanguageKey;
        selectTypeDialogParallelOrSerial: FdLanguageKey;
        selectTypeDialogNodeTypeParallel: FdLanguageKey;
        selectTypeDialogNodeTypeSerial: FdLanguageKey;
        selectTypeDialogConfirmButton: FdLanguageKey;
        selectTypeDialogCancelButton: FdLanguageKey;
        toolbarAddStepButton: FdLanguageKey;
        toolbarEditButton: FdLanguageKey;
        toolbarAddApproversBefore: FdLanguageKey;
        toolbarAddApproversAfter: FdLanguageKey;
        toolbarAddApproversParallel: FdLanguageKey;
        toolbarRemove: FdLanguageKey;
        toolbarEditApprover: FdLanguageKey;
        watchersInputPlaceholder: FdLanguageKey;
        userListSelectedItemsCountSingular: FdLanguageKey;
        /** @param count */
        userListSelectedItemsCountPlural: FdLanguageKey<{
            count: number;
        }>;
        statusApproved: FdLanguageKey;
        statusRejected: FdLanguageKey;
        statusInProgress: FdLanguageKey;
        statusNotStarted: FdLanguageKey;
    };
    platformFeedInput: {
        userTitle: FdLanguageKey;
    };
    platformVHD: {
        selectedAndConditionLabel: FdLanguageKey;
        footerClearSelectedTitle: FdLanguageKey;
        footerClearSelectedAriaLabel: FdLanguageKey;
        searchButtonLabel: FdLanguageKey;
        successButtonLabel: FdLanguageKey;
        cancelButtonLabel: FdLanguageKey;
        selectedEmptyLabel: FdLanguageKey;
        searchPlaceholder: FdLanguageKey;
        searchAdvancedSearchLabel: FdLanguageKey;
        searchShowAdvancedSearchLabel: FdLanguageKey;
        searchHideAdvancedSearchLabel: FdLanguageKey;
        searchShowAllAdvancedSearchLabel: FdLanguageKey;
        searchHideAllAdvancedSearchLabel: FdLanguageKey;
        /** @param count */
        selectTabDisplayCountLabel: FdLanguageKey<{
            count: number;
        }>;
        selectTabMoreBtnLabel: FdLanguageKey;
        /**
         * @param rowCount
         * @param colCount
         */
        selectTabCountHiddenA11yLabel: FdLanguageKey<{
            rowCount: number;
            colCount: number;
        }>;
        selectMobileTabBackBtnTitle: FdLanguageKey;
        selectMobileTabBtnOpenDialogLabel: FdLanguageKey;
        selectMobileTabTitle: FdLanguageKey;
        selectMobileConditionEmpty: FdLanguageKey;
        defineConditionTitle: FdLanguageKey;
        /** @param value */
        defineConditionSelectedValueHiddenA11yLabel: FdLanguageKey<{
            value: string;
        }>;
        defineConditionConditionsGroupHeaderInclude: FdLanguageKey;
        defineConditionConditionsGroupHeaderExclude: FdLanguageKey;
        defineConditionFromPlaceholder: FdLanguageKey;
        defineConditionToPlaceholder: FdLanguageKey;
        defineConditionValuePlaceholder: FdLanguageKey;
        defineConditionRemoveConditionButtonTitle: FdLanguageKey;
        defineConditionAddConditionButtonLabel: FdLanguageKey;
        defineConditionAddConditionButtonTitle: FdLanguageKey;
        defineConditionConditionStrategyLabelContains: FdLanguageKey;
        defineConditionConditionStrategyLabelEqualTo: FdLanguageKey;
        defineConditionConditionStrategyLabelBetween: FdLanguageKey;
        defineConditionConditionStrategyLabelStartsWith: FdLanguageKey;
        defineConditionConditionStrategyLabelEndsWith: FdLanguageKey;
        defineConditionConditionStrategyLabelLessThan: FdLanguageKey;
        defineConditionConditionStrategyLabelLessThanEqual: FdLanguageKey;
        defineConditionConditionStrategyLabelGreaterThan: FdLanguageKey;
        defineConditionConditionStrategyLabelGreaterThanEqual: FdLanguageKey;
        defineConditionConditionStrategyLabelEmpty: FdLanguageKey;
        defineConditionConditionStrategyLabelNotEqualTo: FdLanguageKey;
        defineConditionConditionStrategyLabelNotEmpty: FdLanguageKey;
        /** @param count */
        defineConditionMaxCountError: FdLanguageKey<{
            count: number;
        }>;
        selectTabTitle: FdLanguageKey;
        searchTableEmptyMessage: FdLanguageKey;
        defineTabTitle: FdLanguageKey;
    };
    platformCombobox: {
        countListResultsSingular: FdLanguageKey;
        /** @param count */
        countListResultsPlural: FdLanguageKey<{
            count: number;
        }>;
    };
    platformMultiCombobox: {
        inputGlyphAriaLabel: FdLanguageKey;
        inputIconTitle: FdLanguageKey;
        mobileShowAllItemsButton: FdLanguageKey;
        mobileShowSelectedItemsButton: FdLanguageKey;
        invalidEntryError: FdLanguageKey;
    };
    platformTextarea: {
        counterMessageCharactersOverTheLimitSingular: FdLanguageKey;
        /** @param count */
        counterMessageCharactersOverTheLimitPlural: FdLanguageKey<{
            count: number;
        }>;
        counterMessageCharactersRemainingSingular: FdLanguageKey;
        /** @param count */
        counterMessageCharactersRemainingPlural: FdLanguageKey<{
            count: number;
        }>;
    };
    platformLink: {
        /** @param media */
        roleDescriptionWithMedia: FdLanguageKey<{
            media: string;
        }>;
    };
    platformList: {
        loadingAriaLabel: FdLanguageKey;
    };
    platformObjectListItem: {
        detailsActionAriaLabel: FdLanguageKey;
        deleteActionAriaLabel: FdLanguageKey;
    };
    platformStandardListItem: {
        detailsActionAriaLabel: FdLanguageKey;
        deleteActionAriaLabel: FdLanguageKey;
    };
    platformSearchField: {
        clearButtonTitle: FdLanguageKey;
        submitButtonTitle: FdLanguageKey;
        searchInputLabel: FdLanguageKey;
        synchronizeButtonTitle: FdLanguageKey;
        /**
         * @param count
         */
        searchSuggestionMessage: FdLanguageKey<{
            count: number;
        }>;
        searchSuggestionNavigateMessage: FdLanguageKey;
    };
    platformSwitch: {
        ariaLabel: FdLanguageKey;
    };
    platformSmartFilterBar: {
        searchPlaceholder: FdLanguageKey;
        submitButtonLabel: FdLanguageKey;
        /** @param filtersCount */
        filtersButtonLabel: FdLanguageKey<{
            filtersCount: number;
        }>;
        showFiltersButtonLabel: FdLanguageKey;
        hideFiltersButtonLabel: FdLanguageKey;
        defineConditionsRemoveConditionButtonTitle: FdLanguageKey;
        defineConditionsAddConditionButtonLabel: FdLanguageKey;
        defineConditionsSubmitButtonLabel: FdLanguageKey;
        defineConditionsCancelButton: FdLanguageKey;
        selectFiltersHeader: FdLanguageKey;
        selectFiltersAvailableFiltersText: FdLanguageKey;
        selectFiltersFilterColumnLabel: FdLanguageKey;
        selectFiltersActiveColumnLabel: FdLanguageKey;
        selectFiltersSubmitButtonLabel: FdLanguageKey;
        selectFiltersCancelButton: FdLanguageKey;
        filterConditionContains: FdLanguageKey;
        filterConditionEqualTo: FdLanguageKey;
        filterConditionBetween: FdLanguageKey;
        filterConditionBeginsWith: FdLanguageKey;
        filterConditionEndsWith: FdLanguageKey;
        filterConditionLessThan: FdLanguageKey;
        filterConditionLessThanOrEqualTo: FdLanguageKey;
        filterConditionGreaterThan: FdLanguageKey;
        filterConditionGreaterThanOrEqualTo: FdLanguageKey;
        filterConditionAfter: FdLanguageKey;
        filterConditionOnOrAfter: FdLanguageKey;
        filterConditionBefore: FdLanguageKey;
        filterConditionBeforeOrOn: FdLanguageKey;
        filterConditionValuePlaceholder: FdLanguageKey;
        filterConditionValueFromPlaceholder: FdLanguageKey;
        filterConditionValueToPlaceholder: FdLanguageKey;
        settingsCategoryAll: FdLanguageKey;
        settingsCategoryVisible: FdLanguageKey;
        settingsCategoryActive: FdLanguageKey;
        settingsCategoryVisibleAndActive: FdLanguageKey;
        settingsCategoryMandatory: FdLanguageKey;
        manageFieldConditions: FdLanguageKey;
        refreshButtonAriaLabel: FdLanguageKey;
    };
    platformTable: {
        headerMenuSortAsc: FdLanguageKey;
        headerMenuSortDesc: FdLanguageKey;
        headerMenuGroup: FdLanguageKey;
        headerMenuFreeze: FdLanguageKey;
        headerMenuEndFreeze: FdLanguageKey;
        headerMenuUnfreeze: FdLanguageKey;
        headerMenuFreezePlural: FdLanguageKey;
        headerMenuUnfreezePlural: FdLanguageKey;
        headerMenuFilter: FdLanguageKey;
        defaultEmptyMessage: FdLanguageKey;
        emptyCell: FdLanguageKey;
        noVisibleColumnsMessage: FdLanguageKey;
        resetChangesButtonLabel: FdLanguageKey;
        editableCellNumberPlaceholder: FdLanguageKey;
        editableCellDatePlaceholder: FdLanguageKey;
        editableCellStringPlaceholder: FdLanguageKey;
        P13ColumnsDialogHeader: FdLanguageKey;
        P13ColumnsDialogSearchPlaceholder: FdLanguageKey;
        P13ColumnsDialogsShowSelected: FdLanguageKey;
        P13ColumnsDialogShowAll: FdLanguageKey;
        /**
         * @param selectedColumnsCount
         * @param selectableColumnsCount
         */
        P13ColumnsDialogSelectAll: FdLanguageKey<{
            selectedColumnsCount: number;
            selectableColumnsCount: number;
        }>;
        P13ColumnsDialogConfirmationBtnLabel: FdLanguageKey;
        P13ColumnsDialogCancelBtnLabel: FdLanguageKey;
        P13ColumnsDialogMoveToTopBtn: FdLanguageKey;
        P13ColumnsDialogMoveUpBtn: FdLanguageKey;
        P13ColumnsDialogMoveDownBtn: FdLanguageKey;
        P13ColumnsDialogMoveToBottomBtn: FdLanguageKey;
        P13FilterStrategyLabelBetween: FdLanguageKey;
        P13FilterStrategyLabelContains: FdLanguageKey;
        P13FilterStrategyLabelBeginsWith: FdLanguageKey;
        P13FilterStrategyLabelEndsWith: FdLanguageKey;
        P13FilterStrategyLabelEqualTo: FdLanguageKey;
        P13FilterStrategyLabelGreaterThan: FdLanguageKey;
        P13FilterStrategyLabelGreaterThanOrEqualTo: FdLanguageKey;
        P13FilterStrategyLabelLessThan: FdLanguageKey;
        P13FilterStrategyLabelLessThanOrEqualTo: FdLanguageKey;
        P13FilterStrategyLabelAfter: FdLanguageKey;
        P13FilterStrategyLabelOnOrAfter: FdLanguageKey;
        P13FilterStrategyLabelBefore: FdLanguageKey;
        P13FilterStrategyLabelBeforeOrOn: FdLanguageKey;
        P13FilterStrategyLabelNotDefined: FdLanguageKey;
        P13FilterBooleanOptionNotDefined: FdLanguageKey;
        P13FilterBooleanOptionTrue: FdLanguageKey;
        P13FilterBooleanOptionFalse: FdLanguageKey;
        P13FilterDialogHeader: FdLanguageKey;
        /** @param count */
        P13FilterDialogIncludePanelTitleWithCount: FdLanguageKey<{
            count: number;
        }>;
        P13FilterDialogIncludePanelTitleWithoutCount: FdLanguageKey;
        /** @param count */
        P13FilterDialogExcludePanelTitleWithCount: FdLanguageKey<{
            count: number;
        }>;
        P13FilterDialogExcludePanelTitleWithoutCount: FdLanguageKey;
        P13FilterDialogConfirmationBtnLabel: FdLanguageKey;
        P13FilterDialogRemoveFilterBtnTitle: FdLanguageKey;
        P13FilterDialogAddFilterBtnTitle: FdLanguageKey;
        P13FilterDialogCancelBtnLabel: FdLanguageKey;
        P13GroupDialogHeader: FdLanguageKey;
        P13GroupDialogNoneSelectedColumnSelectPlaceholder: FdLanguageKey;
        P13GroupDialogShowFieldAsColumnCheckboxLabel: FdLanguageKey;
        P13GroupDialogRemoveGroupBtnTitle: FdLanguageKey;
        P13GroupDialogAddNewGroupBtnTitle: FdLanguageKey;
        P13GroupDialogConfirmationBtnLabel: FdLanguageKey;
        P13GroupDialogCancelBtnLabel: FdLanguageKey;
        P13SortDialogHeader: FdLanguageKey;
        P13SortDialogNoneSelectedColumn: FdLanguageKey;
        P13SortDialogNoneSelectedSorting: FdLanguageKey;
        P13SortDialogSortOrderSelectOptionAsc: FdLanguageKey;
        P13SortDialogSortOrderSelectOptionDesc: FdLanguageKey;
        P13SortDialogRemoveSortBtnTitle: FdLanguageKey;
        P13SortDialogAddNewSortBtnTitle: FdLanguageKey;
        P13SortDialogConfirmationBtnLabel: FdLanguageKey;
        P13SortDialogCancelBtnLabel: FdLanguageKey;
        toolbarSearchPlaceholder: FdLanguageKey;
        toolbarActionCreateButtonLabel: FdLanguageKey;
        toolbarActionSaveButtonLabel: FdLanguageKey;
        toolbarActionCancelButtonLabel: FdLanguageKey;
        toolbarActionSortButtonTitle: FdLanguageKey;
        toolbarActionFilterButtonTitle: FdLanguageKey;
        toolbarActionGroupButtonTitle: FdLanguageKey;
        toolbarActionColumnsButtonTitle: FdLanguageKey;
        toolbarActionExpandAllButtonTitle: FdLanguageKey;
        toolbarActionCollapseAllButtonTitle: FdLanguageKey;
        filterDialogNotFilteredLabel: FdLanguageKey;
        /** @param filterLabel */
        filterDialogFilterByLabel: FdLanguageKey<{
            filterLabel: string;
        }>;
        filterDialogFilterTitle: FdLanguageKey;
        filterDialogFilterBy: FdLanguageKey;
        filterDialogConfirmBtnLabel: FdLanguageKey;
        filterDialogCancelBtnLabel: FdLanguageKey;
        groupDialogHeader: FdLanguageKey;
        groupDialogGroupOrderHeader: FdLanguageKey;
        groupDialogGroupOrderAsc: FdLanguageKey;
        groupDialogGroupOrderDesc: FdLanguageKey;
        groupDialogGroupByHeader: FdLanguageKey;
        groupDialogNotGroupedLabel: FdLanguageKey;
        groupDialogConfirmBtnLabel: FdLanguageKey;
        groupDialogCancelBtnLabel: FdLanguageKey;
        sortDialogHeader: FdLanguageKey;
        sortDialogSortOrderHeader: FdLanguageKey;
        sortDialogSortOrderAsc: FdLanguageKey;
        sortDialogSortOrderDesc: FdLanguageKey;
        sortDialogSortByHeader: FdLanguageKey;
        sortDialogNotSortedLabel: FdLanguageKey;
        sortDialogConfirmBtnLabel: FdLanguageKey;
        sortDialogCancelBtnLabel: FdLanguageKey;
        selectAllCheckboxLabel: FdLanguageKey;
        deselectAllCheckboxLabel: FdLanguageKey;
        deselectAllCheckboxLongLabel: FdLanguageKey;
        selectAllCheckboxLongLabel: FdLanguageKey;
        selectAllCheckboxMixedLongLabel: FdLanguageKey;
        deselectSingleRow: FdLanguageKey;
        selectSingleRow: FdLanguageKey;
        showingBlankOfBlank: FdLanguageKey;
        collapseRowButtonTitle: FdLanguageKey;
        expandRowButtonTitle: FdLanguageKey;
        rowNavigateButtonTitle: FdLanguageKey;
    };
    platformWizardGenerator: {
        summarySectionEditStep: FdLanguageKey;
    };
    platformMessagePopover: {
        allErrors: FdLanguageKey;
        defaultErrors: {
            required: FdLanguageKey;
            min: FdLanguageKey;
            max: FdLanguageKey;
            requiredTrue: FdLanguageKey;
            email: FdLanguageKey;
            minLength: FdLanguageKey;
            maxLength: FdLanguageKey;
            pattern: FdLanguageKey;
        };
    };
    platformVariantManagement: {
        manage: FdLanguageKey;
        saveAs: FdLanguageKey;
        saveView: FdLanguageKey;
        save: FdLanguageKey;
        myViews: FdLanguageKey;
        view: FdLanguageKey;
        setAsDefault: FdLanguageKey;
        public: FdLanguageKey;
        applyAutomatically: FdLanguageKey;
        requiredFieldError: FdLanguageKey;
        nameTakenFieldError: FdLanguageKey;
        cancel: FdLanguageKey;
        manageViews: FdLanguageKey;
        markAsFavourite: FdLanguageKey;
        sharing: FdLanguageKey;
        default: FdLanguageKey;
        createdBy: FdLanguageKey;
        removeVariant: FdLanguageKey;
        search: FdLanguageKey;
        access: {
            public: FdLanguageKey;
            private: FdLanguageKey;
        };
    };
    platformSelect: {
        selectOptionLabel: FdLanguageKey;
    };
    platformIconTabBar: {
        /** Label for the overflow "More" button in icon tab bar */
        moreButtonLabel: FdLanguageKey;
    };
    btpSearchField: {
        searchButtonLabel: FdLanguageKey;
        clearButtonLabel: FdLanguageKey;
        searchInputPlaceholder: FdLanguageKey;
        searchInputAriaLabel: FdLanguageKey;
    };
    btpToolHeader: {
        menuButtonAriaLabel: FdLanguageKey;
    };
    btpNavigation: {
        expanderAriaLabel: FdLanguageKey;
        moreButtonAriaLabel: FdLanguageKey;
        overflowMenuAriaLabel: FdLanguageKey;
        snappedPopoverRoleDescription: FdLanguageKey;
    };
    coreNotification: {
        groupHeaderTitle: FdLanguageKey;
        groupAriaDescription: FdLanguageKey;
        groupAriaDescriptionExpanded: FdLanguageKey;
        groupAriaDescriptionCollapsed: FdLanguageKey;
        triggerMoreLabel: FdLanguageKey;
        triggerLessLabel: FdLanguageKey;
    };
    segmentedButton: {
        groupRoleDescription: FdLanguageKey;
        buttonRoleDescription: FdLanguageKey;
    };
    coreObjectIdentifier: {
        srOnlyAriaLabel: FdLanguageKey;
    };
}

/**
 * Type contains all the language keys.
 * This type is generated automatically. Please, do not change it manually.
 **/
type FdLanguageKeyIdentifier = 'coreBusyIndicator.defaultAriaValueText' | 'coreBusyIndicator.defaultTitle' | 'coreCalendar.yearSelectionLabel' | 'coreCalendar.yearsRangeSelectionLabel' | 'coreCalendar.monthSelectionLabel' | 'coreCalendar.dateSelectionLabel' | 'coreCalendar.previousYearLabel' | 'coreCalendar.nextYearLabel' | 'coreCalendar.previousMonthLabel' | 'coreCalendar.nextMonthLabel' | 'coreCalendar.weekColumnLabel' | 'coreCalendar.dateSelectedLabel' | 'coreCalendar.todayLabel' | 'coreCalendar.rangeStartLabel' | 'coreCalendar.rangeEndLabel' | 'coreCalendar.dayInPastLabel' | 'coreCalendar.closeCalendarLabel' | 'coreCalendar.calendarDayViewDescription' | 'coreCalendar.calendarMonthViewDescription' | 'coreCalendar.calendarYearsViewDescription' | 'coreCalendar.calendarYearsRangeViewDescription' | 'coreCalendar.workDayLabel' | 'coreCalendar.nonWorkDayLabel' | 'coreMultiComboBox.multiComboBoxAriaLabel' | 'coreMultiComboBox.selectAllLabel' | 'coreMultiComboBox.listGroupHeader' | 'coreCarousel.pageIndicatorLabel' | 'coreCarousel.leftNavigationBtnLabel' | 'coreCarousel.rightNavigationBtnLabel' | 'coreCombobox.clearButtonTitle' | 'coreDatePicker.dateInputLabel' | 'coreDatePicker.dateRangeInputLabel' | 'coreDatePicker.displayCalendarToggleLabel' | 'coreDatePicker.valueStateSuccessMessage' | 'coreDatePicker.valueStateInformationMessage' | 'coreDatePicker.valueStateWarningMessage' | 'coreDatePicker.valueStateErrorMessage' | 'coreDatetimePicker.datetimeInputLabel' | 'coreDatetimePicker.displayDatetimeToggleLabel' | 'coreDatetimePicker.displayTypeDateLabel' | 'coreDatetimePicker.displayTypeTimeLabel' | 'coreDatetimePicker.datetimeOkLabel' | 'coreDatetimePicker.datetimeCancelLabel' | 'coreDynamicPage.expandLabel' | 'coreDynamicPage.collapseLabel' | 'coreDynamicPage.pinLabel' | 'coreDynamicPage.unpinLabel' | 'coreFeedListItem.moreLabel' | 'coreFeedListItem.lessLabel' | 'coreGridList.filterBarCancelButtonTitle' | 'coreGridList.listItemStatusAriaLabel' | 'coreGridList.listItemCounterAriaLabel' | 'coreGridList.listItemButtonDetailsTitle' | 'coreGridList.listItemButtonDeleteTitle' | 'coreGridList.listItemStatusContainsErrors' | 'coreGridList.listItemStatusLocked' | 'coreGridList.listItemStatusDraft' | 'coreMessageStrip.dismissLabel' | 'coreMessageStrip.announcementInfo' | 'coreMessageStrip.announcementWarning' | 'coreMessageStrip.announcementError' | 'coreMessageStrip.announcementSuccess' | 'coreMessageStrip.closable' | 'coreMultiInput.countListResultsSingular' | 'coreMultiInput.countListResultsPlural' | 'coreMultiInput.multiInputAriaLabel' | 'coreMultiInput.noResults' | 'coreMultiInput.navigateSelectionsWithArrows' | 'coreMultiInput.escapeNavigateTokens' | 'coreMultiInput.tokensCountText' | 'coreNavigation.mainNavigation' | 'coreNavigation.navigationPath' | 'coreNestedList.linkItemAriaLabel' | 'coreOverflowLayout.moreItemsButton' | 'corePagination.pageLabel' | 'corePagination.currentPageAriaLabel' | 'corePagination.labelBeforeInputMobile' | 'corePagination.labelAfterInputMobile' | 'corePagination.inputAriaLabel' | 'corePagination.itemsPerPageLabel' | 'corePagination.firstLabel' | 'corePagination.previousLabel' | 'corePagination.nextLabel' | 'corePagination.lastLabel' | 'corePagination.ariaLabel' | 'corePagination.totalResultsLabel' | 'coreProductSwitch.ariaLabel' | 'coreShellbar.collapsedItemMenuLabel' | 'coreShellbar.cancel' | 'coreShellbar.search' | 'coreShellbar.assistiveTools' | 'coreShellbar.backButtonLabel' | 'coreShellbar.navigationButtonLabel' | 'coreSlider.singleMinMaxDetails' | 'coreSlider.singleValueminDetails' | 'coreSlider.singleValuemaxDetails' | 'coreSlider.singleValueNowDetails' | 'coreSlider.multipleHandle1MinMaxDetails' | 'coreSlider.multipleHandle1ValueminDetails' | 'coreSlider.multipleHandle1ValuemaxDetails' | 'coreSlider.multipleHandle1ValueNowDetails' | 'coreSlider.multipleHandle2MinMaxDetails' | 'coreSlider.multipleHandle2ValueminDetails' | 'coreSlider.multipleHandle2ValuemaxDetails' | 'coreSlider.multipleHandle2ValueNowDetails' | 'coreSplitButton.expandButtonAriaLabel' | 'coreSplitButton.arialLabel' | 'coreSplitter.paginationItemAriaLabel' | 'coreStepInput.incrementButtonTitle' | 'coreStepInput.decrementButtonTitle' | 'coreStepInput.ariaRoleDescription' | 'coreSwitch.semanticAcceptLabel' | 'coreSwitch.semanticDeclineLabel' | 'coreTabs.tabListExpandButtonText' | 'coreText.moreLabel' | 'coreText.lessLabel' | 'coreTime.componentAriaName' | 'coreTime.increaseHoursLabel' | 'coreTime.hrsLabel' | 'coreTime.hoursLabel' | 'coreTime.decreaseHoursLabel' | 'coreTime.increaseMinutesLabel' | 'coreTime.minLabel' | 'coreTime.minutesLabel' | 'coreTime.decreaseMinutesLabel' | 'coreTime.increaseSecondsLabel' | 'coreTime.secLabel' | 'coreTime.secondsLabel' | 'coreTime.decreaseSecondsLabel' | 'coreTime.increasePeriodLabel' | 'coreTime.periodLabel' | 'coreTime.decreasePeriodLabel' | 'coreTime.navigationInstruction' | 'coreTime.nightLabel' | 'coreTime.morningLabel' | 'coreTime.afternoonLabel' | 'coreTime.eveningLabel' | 'coreTimePicker.timePickerInputLabel' | 'coreTimePicker.timePickerButtonLabel' | 'coreToken.deleteButtonLabel' | 'coreToken.ariaRoleDescription' | 'coreTokenizer.moreLabel' | 'coreTokenizer.tokenizerLabel' | 'coreUploadCollection.menuOkText' | 'coreUploadCollection.menuCancelText' | 'coreUploadCollection.menuEditAriaLabel' | 'coreUploadCollection.menuDeleteAriaLabel' | 'coreUploadCollection.menuOkAriaLabel' | 'coreUploadCollection.menuCancelAriaLabel' | 'coreUploadCollection.formItemPlaceholder' | 'coreWizard.ariaLabel' | 'coreBreadcrumb.overflowTitleMore' | 'coreBreadcrumb.breadcrumbTrailLabel' | 'platformApprovalFlow.defaultWatchersLabel' | 'platformApprovalFlow.defaultTitle' | 'platformApprovalFlow.nextButtonAriaLabel' | 'platformApprovalFlow.prevButtonAriaLabel' | 'platformApprovalFlow.editModeSaveButtonLabel' | 'platformApprovalFlow.editModeExitButtonLabel' | 'platformApprovalFlow.emptyTitle' | 'platformApprovalFlow.emptyHint' | 'platformApprovalFlow.addNodeDialogHeaderAddApprovers' | 'platformApprovalFlow.addNodeDialogHeaderEditApprover' | 'platformApprovalFlow.addNodeDialogHeaderAddApproverTeam' | 'platformApprovalFlow.addNodeDialogHeaderDetail' | 'platformApprovalFlow.addNodeDialogNodeType' | 'platformApprovalFlow.addNodeDialogNodeTypeSerial' | 'platformApprovalFlow.addNodeDialogNodeTypeParallel' | 'platformApprovalFlow.addNodeDialogApproverType' | 'platformApprovalFlow.addNodeDialogApproverTypeUser' | 'platformApprovalFlow.addNodeDialogApproverTypeTeamAnyone' | 'platformApprovalFlow.addNodeDialogApproverTypeTeamEveryone' | 'platformApprovalFlow.addNodeDialogUserOrTeam' | 'platformApprovalFlow.addNodeDialogAddToNext' | 'platformApprovalFlow.addNodeDialogDueDate' | 'platformApprovalFlow.addNodeSearchPlaceholder' | 'platformApprovalFlow.addNodeAddActionBtnLabel' | 'platformApprovalFlow.addNodeCancelActionBtnLabel' | 'platformApprovalFlow.addNodeSelectApproverActionBtnLabel' | 'platformApprovalFlow.addNodeCancelApproverSelectionActionBtnLabel' | 'platformApprovalFlow.addNodeApproverOrTeamDetailsCloseActionBtnLabel' | 'platformApprovalFlow.userDetailsHeader' | 'platformApprovalFlow.userDetailsSendReminderBtnLabel' | 'platformApprovalFlow.userDetailsCancelBtnLabel' | 'platformApprovalFlow.messagesApproverAddedSuccess' | 'platformApprovalFlow.messagesTeamAddedSuccess' | 'platformApprovalFlow.messagesNodeEdited' | 'platformApprovalFlow.messagesNodeRemovedSingular' | 'platformApprovalFlow.messagesNodeRemovedPlural' | 'platformApprovalFlow.messagesTeamRemoved' | 'platformApprovalFlow.messagesErrorBuildGraph' | 'platformApprovalFlow.messagesUndoAction' | 'platformApprovalFlow.nodeMembersCount' | 'platformApprovalFlow.nodeVariousTeams' | 'platformApprovalFlow.nodeStatusDueToday' | 'platformApprovalFlow.nodeStatusDueInXDays' | 'platformApprovalFlow.nodeStatusXDaysOverdue' | 'platformApprovalFlow.nodeActionAddApproversBefore' | 'platformApprovalFlow.nodeActionAddApproversAfter' | 'platformApprovalFlow.nodeActionAddApproversParallel' | 'platformApprovalFlow.nodeActionEditApprover' | 'platformApprovalFlow.nodeActionRemove' | 'platformApprovalFlow.selectTypeDialogMoveApproverAs' | 'platformApprovalFlow.selectTypeDialogParallelOrSerial' | 'platformApprovalFlow.selectTypeDialogNodeTypeParallel' | 'platformApprovalFlow.selectTypeDialogNodeTypeSerial' | 'platformApprovalFlow.selectTypeDialogConfirmButton' | 'platformApprovalFlow.selectTypeDialogCancelButton' | 'platformApprovalFlow.toolbarAddStepButton' | 'platformApprovalFlow.toolbarEditButton' | 'platformApprovalFlow.toolbarAddApproversBefore' | 'platformApprovalFlow.toolbarAddApproversAfter' | 'platformApprovalFlow.toolbarAddApproversParallel' | 'platformApprovalFlow.toolbarRemove' | 'platformApprovalFlow.toolbarEditApprover' | 'platformApprovalFlow.watchersInputPlaceholder' | 'platformApprovalFlow.userListSelectedItemsCountSingular' | 'platformApprovalFlow.userListSelectedItemsCountPlural' | 'platformApprovalFlow.addNodeButtonTitle' | 'platformApprovalFlow.nodeMenuButtonTitle' | 'platformApprovalFlow.statusApproved' | 'platformApprovalFlow.statusRejected' | 'platformApprovalFlow.statusInProgress' | 'platformApprovalFlow.statusNotStarted' | 'platformFeedInput.userTitle' | 'platformVHD.selectedAndConditionLabel' | 'platformVHD.footerClearSelectedTitle' | 'platformVHD.footerClearSelectedAriaLabel' | 'platformVHD.searchButtonLabel' | 'platformVHD.successButtonLabel' | 'platformVHD.cancelButtonLabel' | 'platformVHD.selectedEmptyLabel' | 'platformVHD.searchPlaceholder' | 'platformVHD.searchAdvancedSearchLabel' | 'platformVHD.searchShowAdvancedSearchLabel' | 'platformVHD.searchHideAdvancedSearchLabel' | 'platformVHD.searchShowAllAdvancedSearchLabel' | 'platformVHD.searchHideAllAdvancedSearchLabel' | 'platformVHD.selectTabDisplayCountLabel' | 'platformVHD.selectTabMoreBtnLabel' | 'platformVHD.selectTabCountHiddenA11yLabel' | 'platformVHD.selectMobileTabBackBtnTitle' | 'platformVHD.selectMobileTabBtnOpenDialogLabel' | 'platformVHD.selectMobileTabTitle' | 'platformVHD.selectMobileConditionEmpty' | 'platformVHD.defineConditionTitle' | 'platformVHD.defineConditionSelectedValueHiddenA11yLabel' | 'platformVHD.defineConditionConditionsGroupHeaderInclude' | 'platformVHD.defineConditionConditionsGroupHeaderExclude' | 'platformVHD.defineConditionFromPlaceholder' | 'platformVHD.defineConditionToPlaceholder' | 'platformVHD.defineConditionValuePlaceholder' | 'platformVHD.defineConditionRemoveConditionButtonTitle' | 'platformVHD.defineConditionAddConditionButtonLabel' | 'platformVHD.defineConditionAddConditionButtonTitle' | 'platformVHD.defineConditionConditionStrategyLabelContains' | 'platformVHD.defineConditionConditionStrategyLabelEqualTo' | 'platformVHD.defineConditionConditionStrategyLabelBetween' | 'platformVHD.defineConditionConditionStrategyLabelStartsWith' | 'platformVHD.defineConditionConditionStrategyLabelEndsWith' | 'platformVHD.defineConditionConditionStrategyLabelLessThan' | 'platformVHD.defineConditionConditionStrategyLabelLessThanEqual' | 'platformVHD.defineConditionConditionStrategyLabelGreaterThan' | 'platformVHD.defineConditionConditionStrategyLabelGreaterThanEqual' | 'platformVHD.defineConditionConditionStrategyLabelEmpty' | 'platformVHD.defineConditionConditionStrategyLabelNotEqualTo' | 'platformVHD.defineConditionConditionStrategyLabelNotEmpty' | 'platformVHD.defineConditionMaxCountError' | 'platformVHD.selectTabTitle' | 'platformVHD.searchTableEmptyMessage' | 'platformVHD.defineTabTitle' | 'platformCombobox.countListResultsSingular' | 'platformCombobox.countListResultsPlural' | 'platformMultiCombobox.inputGlyphAriaLabel' | 'platformMultiCombobox.inputIconTitle' | 'platformMultiCombobox.mobileShowAllItemsButton' | 'platformMultiCombobox.mobileShowSelectedItemsButton' | 'platformMultiCombobox.invalidEntryError' | 'platformTextarea.counterMessageCharactersOverTheLimitSingular' | 'platformTextarea.counterMessageCharactersOverTheLimitPlural' | 'platformTextarea.counterMessageCharactersRemainingSingular' | 'platformTextarea.counterMessageCharactersRemainingPlural' | 'platformLink.roleDescriptionWithMedia' | 'platformList.loadingAriaLabel' | 'platformObjectListItem.detailsActionAriaLabel' | 'platformObjectListItem.deleteActionAriaLabel' | 'platformStandardListItem.detailsActionAriaLabel' | 'platformStandardListItem.deleteActionAriaLabel' | 'platformSearchField.clearButtonTitle' | 'platformSearchField.submitButtonTitle' | 'platformSearchField.searchInputLabel' | 'platformSearchField.synchronizeButtonTitle' | 'platformSearchField.searchSuggestionMessage' | 'platformSearchField.searchSuggestionNavigateMessage' | 'platformSettingsGenerator.settingsLabel' | 'platformSettingsGenerator.searchLabel' | 'platformSettingsGenerator.backButtonLabel' | 'platformSwitch.ariaLabel' | 'platformSmartFilterBar.searchPlaceholder' | 'platformSmartFilterBar.submitButtonLabel' | 'platformSmartFilterBar.filtersButtonLabel' | 'platformSmartFilterBar.showFiltersButtonLabel' | 'platformSmartFilterBar.hideFiltersButtonLabel' | 'platformSmartFilterBar.defineConditionsRemoveConditionButtonTitle' | 'platformSmartFilterBar.defineConditionsAddConditionButtonLabel' | 'platformSmartFilterBar.defineConditionsSubmitButtonLabel' | 'platformSmartFilterBar.defineConditionsCancelButton' | 'platformSmartFilterBar.selectFiltersHeader' | 'platformSmartFilterBar.selectFiltersAvailableFiltersText' | 'platformSmartFilterBar.selectFiltersFilterColumnLabel' | 'platformSmartFilterBar.selectFiltersActiveColumnLabel' | 'platformSmartFilterBar.selectFiltersSubmitButtonLabel' | 'platformSmartFilterBar.selectFiltersCancelButton' | 'platformSmartFilterBar.filterConditionContains' | 'platformSmartFilterBar.filterConditionEqualTo' | 'platformSmartFilterBar.filterConditionBetween' | 'platformSmartFilterBar.filterConditionBeginsWith' | 'platformSmartFilterBar.filterConditionEndsWith' | 'platformSmartFilterBar.filterConditionLessThan' | 'platformSmartFilterBar.filterConditionLessThanOrEqualTo' | 'platformSmartFilterBar.filterConditionGreaterThan' | 'platformSmartFilterBar.filterConditionGreaterThanOrEqualTo' | 'platformSmartFilterBar.filterConditionAfter' | 'platformSmartFilterBar.filterConditionOnOrAfter' | 'platformSmartFilterBar.filterConditionBefore' | 'platformSmartFilterBar.filterConditionBeforeOrOn' | 'platformSmartFilterBar.filterConditionValuePlaceholder' | 'platformSmartFilterBar.filterConditionValueFromPlaceholder' | 'platformSmartFilterBar.filterConditionValueToPlaceholder' | 'platformSmartFilterBar.settingsCategoryAll' | 'platformSmartFilterBar.settingsCategoryVisible' | 'platformSmartFilterBar.settingsCategoryActive' | 'platformSmartFilterBar.settingsCategoryVisibleAndActive' | 'platformSmartFilterBar.settingsCategoryMandatory' | 'platformSmartFilterBar.manageFieldConditions' | 'platformSmartFilterBar.refreshButtonAriaLabel' | 'platformTable.headerMenuSortAsc' | 'platformTable.headerMenuSortDesc' | 'platformTable.headerMenuGroup' | 'platformTable.headerMenuFreeze' | 'platformTable.headerMenuEndFreeze' | 'platformTable.headerMenuUnfreeze' | 'platformTable.headerMenuFreezePlural' | 'platformTable.headerMenuUnfreezePlural' | 'platformTable.headerMenuFilter' | 'platformTable.defaultEmptyMessage' | 'platformTable.emptyCell' | 'platformTable.noVisibleColumnsMessage' | 'platformTable.resetChangesButtonLabel' | 'platformTable.editableCellNumberPlaceholder' | 'platformTable.editableCellDatePlaceholder' | 'platformTable.editableCellStringPlaceholder' | 'platformTable.P13ColumnsDialogHeader' | 'platformTable.P13ColumnsDialogSearchPlaceholder' | 'platformTable.P13ColumnsDialogsShowSelected' | 'platformTable.P13ColumnsDialogShowAll' | 'platformTable.P13ColumnsDialogSelectAll' | 'platformTable.P13ColumnsDialogConfirmationBtnLabel' | 'platformTable.P13ColumnsDialogCancelBtnLabel' | 'platformTable.P13ColumnsDialogMoveToTopBtn' | 'platformTable.P13ColumnsDialogMoveUpBtn' | 'platformTable.P13ColumnsDialogMoveDownBtn' | 'platformTable.P13ColumnsDialogMoveToBottomBtn' | 'platformTable.P13FilterStrategyLabelBetween' | 'platformTable.P13FilterStrategyLabelContains' | 'platformTable.P13FilterStrategyLabelBeginsWith' | 'platformTable.P13FilterStrategyLabelEndsWith' | 'platformTable.P13FilterStrategyLabelEqualTo' | 'platformTable.P13FilterStrategyLabelGreaterThan' | 'platformTable.P13FilterStrategyLabelGreaterThanOrEqualTo' | 'platformTable.P13FilterStrategyLabelLessThan' | 'platformTable.P13FilterStrategyLabelLessThanOrEqualTo' | 'platformTable.P13FilterStrategyLabelAfter' | 'platformTable.P13FilterStrategyLabelOnOrAfter' | 'platformTable.P13FilterStrategyLabelBefore' | 'platformTable.P13FilterStrategyLabelBeforeOrOn' | 'platformTable.P13FilterStrategyLabelNotDefined' | 'platformTable.P13FilterBooleanOptionNotDefined' | 'platformTable.P13FilterBooleanOptionTrue' | 'platformTable.P13FilterBooleanOptionFalse' | 'platformTable.P13FilterDialogHeader' | 'platformTable.P13FilterDialogIncludePanelTitleWithCount' | 'platformTable.P13FilterDialogIncludePanelTitleWithoutCount' | 'platformTable.P13FilterDialogExcludePanelTitleWithCount' | 'platformTable.P13FilterDialogExcludePanelTitleWithoutCount' | 'platformTable.P13FilterDialogRemoveFilterBtnTitle' | 'platformTable.P13FilterDialogAddFilterBtnTitle' | 'platformTable.P13FilterDialogConfirmationBtnLabel' | 'platformTable.P13FilterDialogCancelBtnLabel' | 'platformTable.P13GroupDialogHeader' | 'platformTable.P13GroupDialogNoneSelectedColumnSelectPlaceholder' | 'platformTable.P13GroupDialogShowFieldAsColumnCheckboxLabel' | 'platformTable.P13GroupDialogRemoveGroupBtnTitle' | 'platformTable.P13GroupDialogAddNewGroupBtnTitle' | 'platformTable.P13GroupDialogConfirmationBtnLabel' | 'platformTable.P13GroupDialogCancelBtnLabel' | 'platformTable.P13SortDialogHeader' | 'platformTable.P13SortDialogNoneSelectedColumn' | 'platformTable.P13SortDialogNoneSelectedSorting' | 'platformTable.P13SortDialogSortOrderSelectOptionAsc' | 'platformTable.P13SortDialogSortOrderSelectOptionDesc' | 'platformTable.P13SortDialogRemoveSortBtnTitle' | 'platformTable.P13SortDialogAddNewSortBtnTitle' | 'platformTable.P13SortDialogConfirmationBtnLabel' | 'platformTable.P13SortDialogCancelBtnLabel' | 'platformTable.toolbarSearchPlaceholder' | 'platformTable.toolbarActionCreateButtonLabel' | 'platformTable.toolbarActionSaveButtonLabel' | 'platformTable.toolbarActionCancelButtonLabel' | 'platformTable.toolbarActionSortButtonTitle' | 'platformTable.toolbarActionFilterButtonTitle' | 'platformTable.toolbarActionGroupButtonTitle' | 'platformTable.toolbarActionColumnsButtonTitle' | 'platformTable.toolbarActionExpandAllButtonTitle' | 'platformTable.toolbarActionCollapseAllButtonTitle' | 'platformTable.expandRowButtonTitle' | 'platformTable.collapseRowButtonTitle' | 'platformTable.rowNavigateButtonTitle' | 'platformTable.filterDialogBackToColumns' | 'platformTable.filterDialogNotFilteredLabel' | 'platformTable.filterDialogFilterByLabel' | 'platformTable.filterDialogFilterTitle' | 'platformTable.filterDialogFilterBy' | 'platformTable.filterDialogConfirmBtnLabel' | 'platformTable.filterDialogCancelBtnLabel' | 'platformTable.groupDialogHeader' | 'platformTable.groupDialogGroupOrderHeader' | 'platformTable.groupDialogGroupOrderAsc' | 'platformTable.groupDialogGroupOrderDesc' | 'platformTable.groupDialogGroupByHeader' | 'platformTable.groupDialogNotGroupedLabel' | 'platformTable.groupDialogConfirmBtnLabel' | 'platformTable.groupDialogCancelBtnLabel' | 'platformTable.sortDialogHeader' | 'platformTable.sortDialogSortOrderHeader' | 'platformTable.sortDialogSortOrderAsc' | 'platformTable.sortDialogSortOrderDesc' | 'platformTable.sortDialogSortByHeader' | 'platformTable.sortDialogNotSortedLabel' | 'platformTable.sortDialogConfirmBtnLabel' | 'platformTable.sortDialogCancelBtnLabel' | 'platformTable.selectAllCheckboxLabel' | 'platformTable.deselectAllCheckboxLabel' | 'platformTable.selectAllCheckboxLongLabel' | 'platformTable.selectAllCheckboxMixedLongLabel' | 'platformTable.deselectAllCheckboxLongLabel' | 'platformTable.deselectSingleRow' | 'platformTable.selectSingleRow' | 'platformTable.loadMore' | 'platformTable.toolbarActionButtonTitle' | 'platformTable.settingsDialogHeader' | 'platformTable.confirmBtnLabel' | 'platformTable.cancelBtnLabel' | 'platformTable.filteredBy' | 'platformTable.showingBlankOfBlank' | 'platformTable.clearFilters' | 'platformWizardGenerator.summarySectionEditStep' | 'platformMessagePopover.allErrors' | 'platformMessagePopover.defaultErrors.email' | 'platformMessagePopover.defaultErrors.max' | 'platformMessagePopover.defaultErrors.maxLength' | 'platformMessagePopover.defaultErrors.min' | 'platformMessagePopover.defaultErrors.minLength' | 'platformMessagePopover.defaultErrors.pattern' | 'platformMessagePopover.defaultErrors.required' | 'platformMessagePopover.defaultErrors.requiredTrue' | 'platformVariantManagement.manage' | 'platformVariantManagement.saveAs' | 'platformVariantManagement.saveView' | 'platformVariantManagement.save' | 'platformVariantManagement.myViews' | 'platformVariantManagement.view' | 'platformVariantManagement.setAsDefault' | 'platformVariantManagement.public' | 'platformVariantManagement.applyAutomatically' | 'platformVariantManagement.requiredFieldError' | 'platformVariantManagement.nameTakenFieldError' | 'platformVariantManagement.cancel' | 'platformVariantManagement.manageViews' | 'platformVariantManagement.markAsFavourite' | 'platformVariantManagement.sharing' | 'platformVariantManagement.default' | 'platformVariantManagement.createdBy' | 'platformVariantManagement.removeVariant' | 'platformVariantManagement.search' | 'platformVariantManagement.access.public' | 'platformVariantManagement.access.private' | 'platformSelect.selectOptionLabel' | 'platformIconTabBar.moreButtonLabel' | 'coreTree.expand' | 'coreTree.collapse' | 'coreTree.noData' | 'btpSearchField.searchButtonLabel' | 'btpSearchField.clearButtonLabel' | 'btpSearchField.searchInputPlaceholder' | 'btpSearchField.searchInputAriaLabel' | 'btpToolHeader.menuButtonAriaLabel' | 'btpNavigation.expanderAriaLabel' | 'btpNavigation.moreButtonAriaLabel' | 'btpNavigation.overflowMenuAriaLabel' | 'btpNavigation.snappedPopoverRoleDescription' | 'coreNotification.groupHeaderTitle' | 'coreNotification.groupAriaDescription' | 'coreNotification.groupAriaDescriptionExpanded' | 'coreNotification.groupAriaDescriptionCollapsed' | 'coreNotification.triggerMoreLabel' | 'coreNotification.triggerLessLabel' | 'segmentedButton.groupRoleDescription' | 'segmentedButton.buttonRoleDescription' | 'coreObjectIdentifier.srOnlyAriaLabel';

type FdLanguageKeyCtx<T extends FdLanguageKeyIdentifier> = ObjectPathType<FdLanguage, T> extends FdLanguageKey<infer Args> ? Args : never;

type FlatFdLanguage = {
    [Key in FdLanguageKeyIdentifier]: ObjectPathType<FdLanguage, Key>;
};

type FdLanguagePatch = {
    [K in keyof FdLanguage]?: Partial<FdLanguage[K]>;
};

declare class FdPatchLanguageDirective {
    /** @hidden */
    private readonly _languagePatch$;
    /** @hidden */
    private readonly _destroyRef;
    /** part of the language object to be overriden */
    set languagePatch(value: FdLanguagePatch);
    /** @hidden */
    constructor(parentFdLanguage$: Observable<FdLanguage>, fdLanguageSubject$: BehaviorSubject<FdLanguage>);
    static ɵfac: i0.ɵɵFactoryDeclaration<FdPatchLanguageDirective, [{ skipSelf: true; }, { self: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<FdPatchLanguageDirective, "[fdPatchLanguage]", never, { "languagePatch": { "alias": "fdPatchLanguage"; "required": false; }; }, {}, never, never, true, never>;
}

declare class FdTranslatePipe implements PipeTransform {
    private readonly _destroyRef;
    private _cdr;
    /** @hidden */
    private readonly _translationResolver;
    /** @hidden */
    private readonly _key$;
    /** @hidden */
    private readonly _args$;
    /** @hidden */
    private _value;
    /** @hidden */
    constructor(_destroyRef: DestroyRef, _cdr: ChangeDetectorRef);
    /** Translate a key with arguments and, optionally, default value */
    transform(key: FdLanguageKeyIdentifier, args?: FdLanguageKeyArgs | Record<string, any>, defaultValue?: string): string;
    /** @hidden */
    private _instantiateSubscription;
    static ɵfac: i0.ɵɵFactoryDeclaration<FdTranslatePipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<FdTranslatePipe, "fdTranslate", true>;
}

/**
 * @deprecated
 * Use direct imports of components and directives.
 */
declare class I18nModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<I18nModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<I18nModule, never, [typeof FdTranslatePipe, typeof FdPatchLanguageDirective], [typeof FdTranslatePipe, typeof FdPatchLanguageDirective]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<I18nModule>;
}

declare const FD_LANGUAGE_ALBANIAN: FdLanguage;

declare const FD_LANGUAGE_ARABIC: FdLanguage;

declare const FD_LANGUAGE_BULGARIAN: FdLanguage;

declare const FD_LANGUAGE_CHINESE_SIMPLIFIED: FdLanguage;
declare const FD_LANGUAGE_CHINESE: FdLanguage;

declare const FD_LANGUAGE_CHINESE_TRADITIONAL: FdLanguage;

declare const FD_LANGUAGE_CROATIAN: FdLanguage;

declare const FD_LANGUAGE_CZECH: FdLanguage;

declare const FD_LANGUAGE_DANISH: FdLanguage;

declare const FD_LANGUAGE_DUTCH: FdLanguage;

declare const FD_LANGUAGE_ENGLISH: FdLanguage;

declare const FD_LANGUAGE_FINNISH: FdLanguage;

declare const FD_LANGUAGE_FRENCH: FdLanguage;

declare const FD_LANGUAGE_GEORGIAN: FdLanguage;

declare const FD_LANGUAGE_GERMAN: FdLanguage;

declare const FD_LANGUAGE_GREEK: FdLanguage;

declare const FD_LANGUAGE_HEBREW: FdLanguage;

declare const FD_LANGUAGE_HINDI: FdLanguage;

declare const FD_LANGUAGE_HUNGARIAN: FdLanguage;

declare const FD_LANGUAGE_ITALIAN: FdLanguage;

declare const FD_LANGUAGE_JAPANESE: FdLanguage;

declare const FD_LANGUAGE_KAZAKH: FdLanguage;

declare const FD_LANGUAGE_KOREAN: FdLanguage;

declare const FD_LANGUAGE_MALAY: FdLanguage;

declare const FD_LANGUAGE_NORWEGIAN: FdLanguage;

declare const FD_LANGUAGE_POLISH: FdLanguage;

declare const FD_LANGUAGE_PORTUGUESE: FdLanguage;

declare const FD_LANGUAGE_ROMANIAN: FdLanguage;

declare const FD_LANGUAGE_RUSSIAN: FdLanguage;

declare const FD_LANGUAGE_SERBIAN: FdLanguage;

declare const FD_LANGUAGE_SLOVAK: FdLanguage;

declare const FD_LANGUAGE_SLOVENIAN: FdLanguage;

declare const FD_LANGUAGE_SPANISH: FdLanguage;

declare const FD_LANGUAGE_SWEDISH: FdLanguage;

declare const FD_LANGUAGE_THAI: FdLanguage;

declare const FD_LANGUAGE_TURKISH: FdLanguage;

declare const FD_LANGUAGE_UKRAINIAN: FdLanguage;

/**
 * Converts a flat object to a hierarchy object
 * in source object { 'key1.key2': value } will be converted to { key1: { key2: value } }
 *
 * @param source
 */
declare function loadJson(source: Partial<Record<FdLanguageKeyIdentifier, string>>): FdLanguage;
/**
 * Converts a flat object to a hierarchy object
 * in source object { 'key1.key2': value } will be converted to { key1: { key2: value } }
 *
 * @param source
 */
declare function flatToHierarchy(source: FlatFdLanguage): FdLanguage;

/**
 * Load properties file content and return a FdLanguage object
 * @param propertiesFileContent
 */
declare function loadProperties(propertiesFileContent: string): FdLanguage;

declare const patchedObj: (lang: FdLanguage, patch: FdLanguagePatch | ((lang: FdLanguage) => FdLanguagePatch)) => FdLanguagePatch;
/**
 * DI utility function, that allows to override `FD_LANGUAGE` injection token with part of the language object, that is used globally
 * @param languagePatch part of the language object to be overriden, or a function that returns such object and receives existing language as a parameter
 *
 * @example
 * ```typescript
 * import { patchLanguage } from '@fundamental-ngx/i18n';
 *
 * @Component({
 *    ...
 *    providers: [
 *         patchLanguage({
 *             // it's possible to partially override translations for component
 *             // overriding only 3 out of all translation strings for textarea here
 *             // also function can be used to provide complex translation logic
 *             platformTextarea: {
 *                 counterMessageCharactersRemainingSingular: 'You can type 1 more character',
 *                 counterMessageCharactersRemainingPlural: 'You can type {{ count }} more characters',
 *                 counterMessageCharactersOverTheLimitPlural: (params) => {
 *                      if (params.count === 3) {
 *                          return `You can type three more characters`;
 *                      }
 *                      return `You can type ${params.count} more characters`;
 *                 }
 *             }
 *         })
 *     ]
 * })
 * export class SomeComponent {}
 * ```
 */
declare function patchLanguage(languagePatch: FdLanguagePatch | ((lang: FdLanguage) => FdLanguagePatch)): FactoryProvider;

type ResolveFnArgs<K extends FdLanguageKeyIdentifier> = FdLanguageKeyCtx<K> extends undefined ? [K] : [K, FdLanguageKeyCtx<K>];
type ResolveTranslationFn<ReturnType> = <Key extends FdLanguageKeyIdentifier>(...args: ResolveFnArgs<Key>) => ReturnType;

interface ResolveTranslationsObservableOptions {
    fdLang?: Nullable<FdLanguage | Observable<FdLanguage>>;
    fdLocale?: Nullable<string | Observable<string>>;
}
/**
 * Get observable creator for the resolve translations
 */
declare function resolveTranslationObservableFn(options?: ResolveTranslationsObservableOptions): ResolveTranslationFn<Observable<string>>;
type ResolveTranslationArgs$1<Key extends FdLanguageKeyIdentifier> = FdLanguageKeyCtx<Key> extends undefined ? [Key] | [Key, ResolveTranslationsObservableOptions] : [Key, FdLanguageKeyCtx<Key>] | [Key, FdLanguageKeyCtx<Key>, ResolveTranslationsObservableOptions];
/**
 * Helper utility function for getting translations observable
 */
declare function resolveTranslationObservable<Key extends FdLanguageKeyIdentifier>(...args: ResolveTranslationArgs$1<Key>): Observable<string>;

type CanBeSignal<T> = T | Signal<T>;
type ResolveTranslationSignalFnArgs<Key extends FdLanguageKeyIdentifier> = FdLanguageKeyCtx<Key> extends undefined ? [CanBeSignal<Key>] : [CanBeSignal<Key>, CanBeSignal<FdLanguageKeyCtx<Key>>];
type ResolveSignalFn<ReturnType> = <Key extends FdLanguageKeyIdentifier>(...args: ResolveTranslationSignalFnArgs<Key>) => Signal<ReturnType>;
interface ResolveTranslationsSignalOptions {
    fdLang?: Nullable<CanBeSignal<FdLanguage>>;
    fdLocale?: Nullable<CanBeSignal<string>>;
}
/**
 * Helper utility which gives you the signal creator for translation resolving.
 */
declare function resolveTranslationSignalFn(options?: ResolveTranslationsSignalOptions): ResolveSignalFn<string>;
type TranslationSignalArgs<Key extends FdLanguageKeyIdentifier> = FdLanguageKeyCtx<Key> extends undefined ? [CanBeSignal<Key>] | [CanBeSignal<Key>, ResolveTranslationsSignalOptions] : [CanBeSignal<Key>, CanBeSignal<FdLanguageKeyCtx<Key>>] | [CanBeSignal<Key>, CanBeSignal<FdLanguageKeyCtx<Key>>, ResolveTranslationsSignalOptions];
/**
 * Helper utility which gives you the signal for translation resolving.
 */
declare function resolveTranslationSignal<K extends FdLanguageKeyIdentifier>(...args: TranslationSignalArgs<K>): Signal<string>;

interface ResolveTranslationsSyncOptions {
    fdLang?: Nullable<FdLanguage>;
    fdLocale?: Nullable<string>;
}
/**
 * Get the options for the resolve translations sync
 * @param options
 * @param _stopUpdating$
 */
declare function resolveTranslationSyncFn(options?: ResolveTranslationsSyncOptions, _stopUpdating$?: Subject<void>): ResolveTranslationFn<string>;
type ResolveTranslationArgs<Key extends FdLanguageKeyIdentifier> = FdLanguageKeyCtx<Key> extends undefined ? [Key] | [Key, ResolveTranslationsSyncOptions] : [Key, FdLanguageKeyCtx<Key>] | [Key, FdLanguageKeyCtx<Key>, ResolveTranslationsSyncOptions];
/**
 * Helper utility function for getting translations
 */
declare function resolveTranslationSync<Key extends FdLanguageKeyIdentifier>(...args: ResolveTranslationArgs<Key>): string;

declare const FD_LANGUAGE: InjectionToken<Observable<FdLanguage>>;
declare const FD_LOCALE: InjectionToken<Observable<string>>;

declare class TranslationResolver {
    /** Resolves the translation for the provided language by key and args */
    resolve(lang: FdLanguage, key: FdLanguageKeyIdentifier, args?: FdLanguageKeyArgs, locale?: Nullable<string>, fallbackLanguage?: FdLanguage): string;
    /** @hidden */
    private _resolveWithoutFallback;
    /**
     * @hidden
     */
    private _interpolate;
    /**
     * Returns the raw ICU string for the provided language by key and args
     **/
    private _getRaw;
    /** @hidden */
    private _getFdLanguageKeyValue;
    /** @hidden */
    private _tryResolveKey;
    /** @hidden */
    private _tryExecuteLanguageFunction;
    /**
     * Applies replacements to the raw string
     * @hidden */
    private _applyReplacements;
    static ɵfac: i0.ɵɵFactoryDeclaration<TranslationResolver, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TranslationResolver>;
}

export { FD_LANGUAGE, FD_LANGUAGE_ALBANIAN, FD_LANGUAGE_ARABIC, FD_LANGUAGE_BULGARIAN, FD_LANGUAGE_CHINESE, FD_LANGUAGE_CHINESE_SIMPLIFIED, FD_LANGUAGE_CHINESE_TRADITIONAL, FD_LANGUAGE_CROATIAN, FD_LANGUAGE_CZECH, FD_LANGUAGE_DANISH, FD_LANGUAGE_DUTCH, FD_LANGUAGE_ENGLISH, FD_LANGUAGE_FINNISH, FD_LANGUAGE_FRENCH, FD_LANGUAGE_GEORGIAN, FD_LANGUAGE_GERMAN, FD_LANGUAGE_GREEK, FD_LANGUAGE_HEBREW, FD_LANGUAGE_HINDI, FD_LANGUAGE_HUNGARIAN, FD_LANGUAGE_ITALIAN, FD_LANGUAGE_JAPANESE, FD_LANGUAGE_KAZAKH, FD_LANGUAGE_KOREAN, FD_LANGUAGE_MALAY, FD_LANGUAGE_NORWEGIAN, FD_LANGUAGE_POLISH, FD_LANGUAGE_PORTUGUESE, FD_LANGUAGE_ROMANIAN, FD_LANGUAGE_RUSSIAN, FD_LANGUAGE_SERBIAN, FD_LANGUAGE_SLOVAK, FD_LANGUAGE_SLOVENIAN, FD_LANGUAGE_SPANISH, FD_LANGUAGE_SWEDISH, FD_LANGUAGE_THAI, FD_LANGUAGE_TURKISH, FD_LANGUAGE_UKRAINIAN, FD_LOCALE, FdPatchLanguageDirective, FdTranslatePipe, I18nModule, TranslationResolver, flatToHierarchy, loadJson, loadProperties, patchLanguage, patchedObj, resolveTranslationObservable, resolveTranslationObservableFn, resolveTranslationSignal, resolveTranslationSignalFn, resolveTranslationSync, resolveTranslationSyncFn };
export type { FdLanguage, FdLanguageKey, FdLanguageKeyArgs, FdLanguageKeyCtx, FdLanguageKeyFunction, FdLanguageKeyIdentifier, FdLanguagePatch, FlatFdLanguage, ResolveTranslationsSyncOptions };
