import { ElementRef, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import { Theme } from './theme.model';
import { ThemeService } from './theme.service';
import { LayoutControlService } from '../layout-control/layout-control.service';
import * as i0 from "@angular/core";
export declare class ThemeDirective implements OnInit, OnDestroy {
    private document;
    private elementRef;
    private renderer;
    private themeService;
    private layoutControl;
    /**
     * Whether the styles are scoped or not.
     */
    scoped: boolean;
    /**
     * specify selected theme or use default.
     */
    theme: string;
    private sub;
    constructor(document: any, elementRef: ElementRef, renderer: Renderer2, themeService: ThemeService, layoutControl: LayoutControlService);
    /**
     * Update the theme on the scoped element.
     */
    updateTheme(theme: Theme): void;
    /**
     * Element to attach the styles to.
     */
    getElement(): any;
    ngOnInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ThemeDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ThemeDirective, "[sdkTheme]", never, { "scoped": "scoped"; "theme": "sdkTheme"; }, {}, never, never, false>;
}
