import { AfterContentInit, AfterViewInit, ElementRef, EventEmitter, OnDestroy, QueryList, TemplateRef } from '@angular/core'; import { PrimeTemplate } from 'primeng/api'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "primeng/ripple"; import * as i3 from "primeng/api"; import * as i4 from "primeng/autofocus"; import * as i5 from "primeng/icons/spinner"; type ButtonIconPosition = 'left' | 'right' | 'top' | 'bottom'; /** * Button directive is an extension to button component. * @group Components */ export declare class ButtonDirective implements AfterViewInit, OnDestroy { el: ElementRef; private document; /** * Position of the icon. * @group Props */ iconPos: ButtonIconPosition; /** * Uses to pass attributes to the loading icon's DOM element. * @group Props */ loadingIcon: string | undefined; /** * Text of the button. * @group Props */ get label(): string; set label(val: string); /** * Name of the icon. * @group Props */ get icon(): string; set icon(val: string); /** * Whether the button is in loading state. * @group Props */ get loading(): boolean; set loading(val: boolean); /** * Defines the style of the button. * @group Props */ severity: 'success' | 'info' | 'warning' | 'danger' | 'help' | 'primary' | 'secondary' | 'contrast' | null | undefined; /** * Add a shadow to indicate elevation. * @group Props */ raised: boolean; /** * Add a circular border radius to the button. * @group Props */ rounded: boolean; /** * Add a textual class to the button without a background initially. * @group Props */ text: boolean; /** * Add a border class without a background initially. * @group Props */ outlined: boolean; /** * Defines the size of the button. * @group Props */ size: 'small' | 'large' | undefined | null; /** * Add a plain textual class to the button without a background initially. * @group Props */ plain: boolean; _label: string | undefined; _icon: string | undefined; _loading: boolean; initialized: boolean | undefined; private get htmlElement(); private _internalClasses; spinnerIcon: string; constructor(el: ElementRef, document: Document); ngAfterViewInit(): void; getStyleClass(): string[]; setStyleClass(): void; createLabel(): void; createIcon(): void; updateLabel(): void; updateIcon(): void; getIconClass(): string; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; static ngAcceptInputType_raised: unknown; static ngAcceptInputType_rounded: unknown; static ngAcceptInputType_text: unknown; static ngAcceptInputType_outlined: unknown; static ngAcceptInputType_plain: unknown; } /** * Button is an extension to standard button element with icons and theming. * @group Components */ export declare class Button implements AfterContentInit { el: ElementRef; /** * Type of the button. * @group Props */ type: string; /** * Position of the icon. * @group Props */ iconPos: ButtonIconPosition; /** * Name of the icon. * @group Props */ icon: string | undefined; /** * Value of the badge. * @group Props */ badge: string | undefined; /** * Uses to pass attributes to the label's DOM element. * @group Props */ label: string | undefined; /** * When present, it specifies that the component should be disabled. * @group Props */ disabled: boolean | undefined; /** * Whether the button is in loading state. * @group Props */ loading: boolean; /** * Icon to display in loading state. * @group Props */ loadingIcon: string | undefined; /** * Add a shadow to indicate elevation. * @group Props */ raised: boolean; /** * Add a circular border radius to the button. * @group Props */ rounded: boolean; /** * Add a textual class to the button without a background initially. * @group Props */ text: boolean; /** * Add a plain textual class to the button without a background initially. * @group Props */ plain: boolean; /** * Defines the style of the button. * @group Props */ severity: 'success' | 'info' | 'warning' | 'danger' | 'help' | 'primary' | 'secondary' | 'contrast' | null | undefined; /** * Add a border class without a background initially. * @group Props */ outlined: boolean; /** * Add a link style to the button. * @group Props */ link: boolean; /** * Add a tabindex to the button. * @group Props */ tabindex: number | undefined; /** * Defines the size of the button. * @group Props */ size: 'small' | 'large' | undefined; /** * Inline style of the element. * @group Props */ style: { [klass: string]: any; } | null | undefined; /** * Class of the element. * @group Props */ styleClass: string | undefined; /** * Style class of the badge. * @group Props */ badgeClass: string | undefined; /** * Used to define a string that autocomplete attribute the current element. * @group Props */ ariaLabel: string | undefined; /** * When present, it specifies that the component should automatically get focus on load. * @group Props */ autofocus: boolean | undefined; /** * Callback to execute when button is clicked. * This event is intended to be used with the component. Using a regular