import { EventEmitter, Injector, OnDestroy, OnInit } from '@angular/core';
import { CoreBaseComponent } from '../common/base.component';
import { Layout } from '../common/layout';
import * as i0 from "@angular/core";
export declare enum LoadingWheelSize {
    ExtraSmall = "extra-small",
    Small = "small",
    Medium = "medium",
    Large = "large",
    Default = "large"
}
export declare module LoadingWheelSize {
    type Bindable = LoadingWheelSize | 'extra-small' | 'small' | 'medium' | 'large';
    function fromBindableType(value: Bindable): LoadingWheelSize;
    function toProgressClass(size: LoadingWheelSize): string;
}
/**
 * @smeDoc {@label Loading Wheel @id sme-loading-wheel}
 *
 * @overview
 * @file {@filepath ./examples/loading-wheel-overview.md}
 *
 * @example {@label Small loading wheel example @id small-loading-wheel}
 * @file {@filename small-loading-wheel-example.html @filepath ./examples/small-loading-wheel-example.html }
 * @file {@filename small-loading-wheel-example.ts @filepath ./examples/small-loading-wheel-example.ts }
 * @file {@filename loading-wheel-example.module.ts @filepath ./examples/loading-wheel-example.module.ts }
 *
 * @example {@label Large loading wheel example @id large-loading-wheel}
 * @file {@filename large-loading-wheel-example.html @filepath ./examples/large-loading-wheel-example.html }
 * @file {@filename large-loading-wheel-example.ts @filepath ./examples/large-loading-wheel-example.ts }
 * @file {@filename loading-wheel-example.module.ts @filepath ./examples/loading-wheel-example.module.ts }
 */
export declare class LoadingWheelComponent extends CoreBaseComponent implements OnDestroy, OnInit {
    private layout;
    /**
     * The source name to use for logging
     */
    protected get logSourceName(): string;
    /**
     * The event fired when the button is clicked.
     */
    buttonClick: EventEmitter<void>;
    message: any;
    inline: any;
    buttonLabel: any;
    isBackgroundTransparent: any;
    size: LoadingWheelSize.Bindable;
    get sizeClass(): string;
    private initialSize;
    constructor(layout: Layout, injector: Injector);
    /**
     * The method run when the component is initialized
     */
    ngOnInit(): void;
    /**
     * Destroy resources.
     */
    ngOnDestroy(): void;
    /**
     * Adjust loading wheel size if its container is smaller than the inputted size
     */
    private onLayoutChanged;
    /**
     * Creates the idBag used by this component to store unique element ids.
     * id values will be assigned be the @see BaseComponent super class.
     */
    protected createIdBag(): MsftSme.StringMap<string>;
    static ɵfac: i0.ɵɵFactoryDeclaration<LoadingWheelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LoadingWheelComponent, "sme-loading-wheel", never, { "message": "message"; "inline": "inline"; "buttonLabel": "buttonLabel"; "isBackgroundTransparent": "isBackgroundTransparent"; "size": "size"; }, { "buttonClick": "buttonClick"; }, never, never, false, never>;
}
