import { FocusMonitor, FocusableOption, FocusOrigin } from '@angular/cdk/a11y';
import { ElementRef, OnDestroy, AfterViewInit, Renderer2 } from '@angular/core';
import { CanColor, CanColorCtor } from './color';
import { CanDisable, CanDisableCtor } from '@angular/material/core';
declare class QMSButtonBase {
    _elementRef: ElementRef;
    constructor(_elementRef: ElementRef);
}
declare const _QMSButtonMixinBase: CanDisableCtor & CanColorCtor & typeof QMSButtonBase;
/**
 * QMS design button.
 */
export declare class QMSButton extends _QMSButtonMixinBase implements AfterViewInit, OnDestroy, CanDisable, CanColor, FocusableOption {
    private _focusMonitor;
    _animationMode: string;
    constructor(elementRef: ElementRef, _focusMonitor: FocusMonitor, _animationMode: string);
    focus(origin?: FocusOrigin, options?: FocusOptions): void;
    _getHostElement(): any;
    _hasHostAttributes(...attributes: string[]): boolean;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
}
/**
 * Material design anchor button.
 */
export declare class QMSAnchor extends QMSButton {
    tabIndex: number;
    constructor(focusMonitor: FocusMonitor, elementRef: ElementRef, animationMode: string);
    _haltDisabledEvents(event: Event): void;
}
export declare class QMSButtonIcon extends _QMSButtonMixinBase implements AfterViewInit, OnDestroy, CanDisable, CanColor, FocusableOption {
    private _focusMonitor;
    private renderer;
    _animationMode: string;
    active: boolean;
    constructor(elementRef: ElementRef, _focusMonitor: FocusMonitor, renderer: Renderer2, _animationMode: string);
    focus(origin?: FocusOrigin, options?: FocusOptions): void;
    _getHostElement(): any;
    _hasHostAttributes(...attributes: string[]): boolean;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
}
export {};
