import { QueryList } from '@angular/core';
import { ButtonColor, ButtonSize } from '../../../interfaces/core';
import { ItIconComponent } from '../../utils/icon/icon.component';
import { ItProgressButtonComponent } from '../progress-button/progress-button.component';
import * as i0 from "@angular/core";
import * as i1 from "../../../utils/coercion";
/**
 * Button
 * @description Bootstrap italia custom button styles
 */
export declare class ItButtonDirective {
    private progressButtonComponent;
    /**
     * Button color
     * @default undefined
     */
    color: ButtonColor | undefined;
    /**
     * Button size
     * @default undefined
     */
    size: ButtonSize | undefined;
    /**
     * Indicates whether the button occupies all the width available to it.
     * @default undefined
     */
    block: ButtonSize | undefined;
    /**
     * If button is disabled
     * @default false
     */
    disabled?: boolean;
    /**
     * The type attribute
     * @default button
     */
    type: 'button' | 'reset' | 'submit';
    /**
     * The icon children
     * @default undefined
     */
    protected icons?: QueryList<ItIconComponent>;
    constructor(progressButtonComponent: ItProgressButtonComponent);
    protected get hostClasses(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<ItButtonDirective, [{ optional: true; host: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ItButtonDirective, "[itButton]", ["itButton"], { "color": { "alias": "itButton"; "required": false; }; "size": { "alias": "size"; "required": false; }; "block": { "alias": "block"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, {}, ["icons"], never, true, never>;
    static ngAcceptInputType_disabled: i1.BooleanInput;
}
