import { InjectionToken } from "@angular/core";
import { BehaviorSubject } from "rxjs";
export declare class ThemeToken {
    private t?;
    private document;
    subject: BehaviorSubject<IgxTheme>;
    constructor(t?: IgxTheme);
    onChange(callback: (theme: IgxTheme) => void): import("rxjs").Subscription;
    set(theme: IgxTheme): void;
    get theme(): IgxTheme;
    get preferToken(): boolean;
}
export declare const THEME_TOKEN: InjectionToken<ThemeToken>;
declare const Theme: {
    Material: "material";
    Fluent: "fluent";
    Bootstrap: "bootstrap";
    IndigoDesign: "indigo";
};
/**
 * Determines the component theme.
 */
export type IgxTheme = (typeof Theme)[keyof typeof Theme];
export {};
