import { OnInit, OnChanges, ElementRef } from '@angular/core';
import { FudisHeadingLevel, FudisHeadingVariant } from '../../../types/typography';
import { FudisIdService } from '../../../services/id/id.service';
import { FudisComponentChanges } from '../../../types/miscellaneous';
import { FudisTextAlign } from '../../../types/typography';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class HeadingComponent implements OnInit, OnChanges {
    private _idService;
    private _wrapperElement;
    constructor(_idService: FudisIdService, _wrapperElement: ElementRef);
    /**
     * Rendered HTML Heading element, e.g.`<h1>` or `<h3>` tag.
     */
    headingRef: ElementRef<HTMLHeadingElement>;
    /**
     * Semantic level of heading
     */
    level: FudisHeadingLevel;
    /**
     * Heading variant
     */
    variant: FudisHeadingVariant;
    /**
     * Heading id. If not provided, generated by FudisIdService.
     */
    id: string;
    /**
     * Align heading
     */
    align: FudisTextAlign;
    /**
     * Heading CSS class list
     */
    protected _classList: BehaviorSubject<string[]>;
    /**
     * Internal id to generate unique id
     */
    protected _id: string;
    /**
     * Set CSS classes for heading
     */
    private _setClasses;
    ngOnInit(): void;
    ngOnChanges(changes: FudisComponentChanges<HeadingComponent>): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<HeadingComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<HeadingComponent, "fudis-heading", never, { "level": { "alias": "level"; "required": true; }; "variant": { "alias": "variant"; "required": false; }; "id": { "alias": "id"; "required": false; }; "align": { "alias": "align"; "required": false; }; }, {}, never, ["*"], false, never>;
}
