import { OnChanges, Renderer2, SimpleChanges, ViewContainerRef } from '@angular/core';
import { MatButton } from '@angular/material/button';
import { ThemePalette } from '@angular/material/core';
import * as i0 from "@angular/core";
/**
 * Component to display spinner inside a button
 */
export declare class SpinnerButtonDirective implements OnChanges {
    private readonly matButton;
    private readonly viewContainerRef;
    private readonly renderer;
    private spinner;
    /**
     * Is the spinner display ?
     */
    loading: boolean;
    /**
     * Is the button disabled ?
     */
    disabled?: boolean;
    /**
     * Theme palette (primary, accent, warn)
     */
    color: ThemePalette;
    constructor(matButton: MatButton, viewContainerRef: ViewContainerRef, renderer: Renderer2);
    ngOnChanges(changes: SimpleChanges): void;
    private createSpinner;
    private destroySpinner;
    static ɵfac: i0.ɵɵFactoryDeclaration<SpinnerButtonDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SpinnerButtonDirective, "button[mat-button][loading], button[mat-raised-button][loading], button[mat-icon-button][loading],             button[mat-fab][loading], button[mat-mini-fab][loading], button[mat-stroked-button][loading],             button[mat-flat-button][loading]", never, { "loading": { "alias": "loading"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, {}, never, never, false, never>;
}
