import { OnDestroy } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { LocalContentDensityMode } from '../content-density.types';
import { ContentDensityMode } from '../types/content-density.mode';
import * as i0 from "@angular/core";
/**
 * Directive to control the content density of the elements.
 * This Directive is used in density controllers and consumers
 */
export declare class ContentDensityDirective extends BehaviorSubject<LocalContentDensityMode> implements OnDestroy {
    /**
     * Update the content density of the element on the fly
     */
    set fdContentDensity(val: `${ContentDensityMode}` | LocalContentDensityMode | '');
    /**
     * This input is basically syntax sugar, for not writing fdContentDensity="compact",
     * instead you can just write fdCompact="true" or [fdCompact]
     */
    set fdCompact(val: boolean);
    /**
     * This input is basically syntax sugar, for not writing fdContentDensity="condensed",
     * instead you can just write fdCondensed="true" or [fdCondensed]
     */
    set fdCondensed(val: boolean);
    /**
     * This input is basically syntax sugar, for not writing fdContentDensity="cozy",
     * instead you can just write fdCozy="true" or [fdCozy]
     */
    set fdCozy(val: boolean);
    /** @hidden */
    constructor();
    /** @hidden */
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ContentDensityDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ContentDensityDirective, "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]),                [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]),                [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]),                [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", ["fdContentDensity"], { "fdContentDensity": { "alias": "fdContentDensity"; "required": false; }; "fdCompact": { "alias": "fdCompact"; "required": false; }; "fdCondensed": { "alias": "fdCondensed"; "required": false; }; "fdCozy": { "alias": "fdCozy"; "required": false; }; }, {}, never, never, true, never>;
    static ngAcceptInputType_fdCompact: unknown;
    static ngAcceptInputType_fdCondensed: unknown;
    static ngAcceptInputType_fdCozy: unknown;
}
