/**
 * @license
 * Copyright Endlessjs. All Rights Reserved.
 * Licensed under the MIT License. See License.txt in the project root for license information.
 */
import { ComponentFactoryResolver, ComponentFactory, ComponentRef, ElementRef, OnInit, Renderer2, ViewContainerRef } from '@angular/core';
import { ElComponentSize } from '../component-size';
import { ElComponentStatus } from '../component-status';
import { ElSpinnerComponent } from './spinner.component';
/**
 * Styled spinner directive
 *
 * @stacked-example(Spinner Showcase, spinner/spinner-card.component)
 *
 *
 * ```ts
 * <el-card [elSpinner]="loading" elSpinnerStatus="danger">
 *   <el-card-body>Card Content</el-card-body>
 * </el-card>
 * ```
 *
 * ### Installation
 *
 * Import `ElSpinnerModule` to your feature module.
 * ```ts
 * @NgModule({
 *   imports: [
 *     // ...
 *     ElSpinnerModule,
 *   ],
 * })
 * export class PageModule { }
 * ```
 * ### Usage
 *
 * Could be colored using `status` property
 *
 * @stacked-example(Spinner Colors, spinner/spinner-colors.component)
 *
 * Available in different sizes with `size` property:
 *
 * @stacked-example(Spinner Sizes, spinner/spinner-sizes.component)
 *
 * It is also possible to place it into the button:
 * @stacked-example(Buttons with spinner, spinner/spinner-button.component)
 *
 * Or tabs:
 * @stacked-example(Spinner in tabs, spinner/spinner-tabs.component)
 */
export declare class ElSpinnerDirective implements OnInit {
    private directiveView;
    private componentFactoryResolver;
    private renderer;
    private directiveElement;
    private shouldShow;
    spinner: ComponentRef<ElSpinnerComponent>;
    componentFactory: ComponentFactory<ElSpinnerComponent>;
    /**
     * Spinner message shown next to the icon
     * @type {string}
     */
    spinnerMessage: string;
    /**
     * Spinner status color primary, info, success, warning, danger
     */
    spinnerStatus: '' | ElComponentStatus;
    /**
     * Spinner size. Possible values: `tiny`, `small`, `medium` (default), `large`, `giant`
     */
    spinnerSize: ElComponentSize;
    /**
     * Directive value - show or hide spinner
     * @param {boolean} val
     */
    elSpinner: boolean;
    isSpinnerExist: boolean;
    constructor(directiveView: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, renderer: Renderer2, directiveElement: ElementRef);
    ngOnInit(): void;
    hide(): void;
    show(): void;
    setInstanceInputs(instance: ElSpinnerComponent): void;
}
