import { OnInit, OnChanges, Signal } from '@angular/core';
import { GridApiDirective } from '../../directives/grid/grid-api/grid-api.directive';
import { FudisComponentChanges, FudisDescriptionListVariant } from '../../types/miscellaneous';
import { FudisIdService } from '../../services/id/id.service';
import { FudisGridGap } from '../../types/grid';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class DescriptionListComponent extends GridApiDirective implements OnInit, OnChanges {
    private _idService;
    constructor(_idService: FudisIdService);
    /**
     * Disable Grid behavior for Description List
     */
    disableGrid: boolean;
    /**
     * Variant for Description List structure and layout
     */
    variant: FudisDescriptionListVariant;
    /**
     * Grid row gap. Using Fudis spacing token values of xxs to xxl and none.
     */
    rowGap: FudisGridGap;
    /**
     * HTML element to render. If your Description List has only one item, use 'p', otherwise 'dl'.
     */
    tag: 'dl' | 'p';
    /**
     * Id generated with Id Service
     */
    id: string;
    /**
     * CSS class list
     */
    protected _classList: BehaviorSubject<string>;
    /**
     * Signal for variant
     */
    private _dlVariant;
    /**
     * Signal for listening disableGrid Input, used in DL Item.
     */
    private _disabledGrid;
    ngOnInit(): void;
    ngOnChanges(changes: FudisComponentChanges<DescriptionListComponent>): void;
    /**
     * Read only signal for variant
     */
    getVariant(): Signal<FudisDescriptionListVariant>;
    /**
     * Read only signal for disabledGrid value
     */
    getDisabledGridStatus(): Signal<boolean>;
    /**
     * Define correct CSS classes
     */
    private _setClasses;
    static ɵfac: i0.ɵɵFactoryDeclaration<DescriptionListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DescriptionListComponent, "fudis-dl", never, { "disableGrid": { "alias": "disableGrid"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "rowGap": { "alias": "rowGap"; "required": false; }; "tag": { "alias": "tag"; "required": false; }; }, {}, never, ["*"], false, never>;
}
