import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
import { type Maybe } from '@dereekb/util';
import { Observable } from 'rxjs';
import { OnDestroy, OnInit } from '@angular/core';
import { DbxStyleConfig, DbxStyleClass } from './style';
import * as i0 from "@angular/core";
/**
 * Used to denote which app style to use for all children below this.
 *
 * Will update the parent DbxStyleService.
 */
export declare class DbxSetStyleDirective extends AbstractSubscriptionDirective implements OnDestroy, OnInit {
    private readonly _styleService;
    /**
     * The input DbxStyleName to style the host element with.
     */
    readonly dbxSetStyle: import("@angular/core").InputSignal<string | undefined>;
    /**
     * The input suffixes to allow to be applied to the
     */
    readonly suffixes: import("@angular/core").InputSignal<Maybe<string>>;
    /**
     * The output style class to apply to the host element.
     */
    readonly outputStyleClassSignal: import("@angular/core").WritableSignal<string>;
    readonly style$: Observable<string>;
    readonly suffixes$: Observable<Set<string>>;
    readonly config$: Observable<DbxStyleConfig>;
    readonly styleClass$: Observable<DbxStyleClass>;
    ngOnInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxSetStyleDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DbxSetStyleDirective, "[dbxSetStyle]", never, { "dbxSetStyle": { "alias": "dbxSetStyle"; "required": false; "isSignal": true; }; "suffixes": { "alias": "suffixes"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
