export declare class SpinnerController {
    private spinner;
    private targetEl;
    element: HTMLAnjSpinnerControllerElement;
    componentDidLoad(): void;
    componentDidUnload(): void;
    /**
     * Spins while an arbitrary promise completes.
     * Returns the value of the promise
     */
    spinWhile(work: Promise<any>, target?: HTMLElement): Promise<any>;
    /**
     * Loads the spinner
     */
    spin(target?: HTMLElement): Promise<HTMLAnjSpinnerElement>;
    /**
     * Unload the spinner
     */
    stop(): Promise<void>;
}
