import { ComponentFactoryResolver, ComponentRef, OnChanges, OnDestroy, SimpleChange, SimpleChanges, Type, ViewContainerRef } from '@angular/core'; import * as i0 from "@angular/core"; export declare abstract class UiLoaderButtonDirective implements OnChanges, OnDestroy { private _componentFactory; private _container; protected _loader: T; protected _loaderElement: HTMLElement; protected _loaderRef: ComponentRef; protected get _buttonElement(): HTMLButtonElement; private _watchers; constructor(loaderType: Type, _componentFactory: ComponentFactoryResolver, _container: ViewContainerRef); ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; protected _initialize(): void; protected _registerWatcher: (key: string, action: () => void) => void; protected _createLoader: (type: Type) => ComponentRef; protected _doIfChange: (change: SimpleChange, action: () => void) => void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, {}, {}, never, never, false, never>; }