import { ElementRef, Signal } from '@angular/core';
import { FudisLanguageAbbr, FudisDescriptionListItemDetailLanguageContent } from '../../../types/miscellaneous';
import { FudisIdService } from '../../../services/id/id.service';
import { DescriptionListComponent } from '../description-list.component';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class DescriptionListItemComponent {
    private _element;
    private _idService;
    protected _parentDl: DescriptionListComponent;
    constructor(_element: ElementRef, _idService: FudisIdService, _parentDl: DescriptionListComponent);
    /**
     * Main CSS class
     */
    protected _mainCssClass: BehaviorSubject<string>;
    /**
     * Storing list of available languages in Details elements
     */
    private _detailsLanguageOptions;
    /**
     * Selected language to pass to child components
     */
    private _selectedLanguage;
    /**
     * Current parent variant
     */
    private _variant;
    /**
     * List of Description List Item Detail children ids
     */
    private _detailChildrenIds;
    /**
     * Last Description List Item Detail id passed to children
     */
    private _lastChildId;
    /**
     * Returns a last child id of selected language.
     */
    private _findLastLanguageChildId;
    /**
     * Returns a compact list last child id for Description List Item Detail component.
     */
    private _updateChildren;
    /**
     * DL Item has combined styles for both regular and compact versions but some styles only apply to
     * regular version if parent's disableGrid is true.
     */
    private _setClasses;
    /**
     * Id generated with Id Service
     */
    id: string;
    /**
     * Called from child Details, if it has a language property
     */
    addDetailsLanguage(lang: FudisLanguageAbbr, text: string | null, id: string): void;
    /**
     * Called from child Details, if its language property is removed (or updated)
     */
    removeDetailsLanguage(lang: FudisLanguageAbbr, id: string): void;
    getDetailsLanguageOptions(): Signal<FudisDescriptionListItemDetailLanguageContent | null>;
    setSelectedLanguage(lang: FudisLanguageAbbr | null): void;
    getSelectedLanguage(): Signal<FudisLanguageAbbr | null>;
    getLastChildId(): Signal<string | null>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DescriptionListItemComponent, [null, null, { host: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DescriptionListItemComponent, "fudis-dl-item", never, {}, {}, never, ["*"], false, never>;
}
