import { FocusMonitor } from '@angular/cdk/a11y'; import { AfterContentInit, AfterViewInit, ElementRef, OnDestroy, Renderer2 } from '@angular/core'; import { KbqColorDirective, KbqTitleTextRef } from '@koobiq/components/core'; import * as i0 from "@angular/core"; export declare enum KbqButtonStyles { Filled = "filled", Outline = "outline", Transparent = "transparent" } export declare const buttonLeftIconClassName = "kbq-button-icon_left"; export declare const buttonRightIconClassName = "kbq-button-icon_right"; /** * Applies the `kbq-button`/`kbq-button-icon` host class and the left/right icon modifier classes. * * A button is treated as an icon button when its projected content consists only of `KbqIcon`s * and there are at most 2 of them. When icons are mixed with other content, only the outermost * icons receive the left/right classes. * * Must be used together with `KbqButton` (both match `[kbq-button]`): icon detection relies on * the `.kbq-button-wrapper` element rendered by the component's template. */ export declare class KbqButtonCssStyler implements AfterContentInit { private renderer; readonly icons: import("@angular/core").Signal; nativeElement: HTMLElement; /** Whether the button contains only icons (at most 2). */ get isIconButton(): boolean; private readonly _isIconButton; private leftIcon; private rightIcon; constructor(elementRef: ElementRef, renderer: Renderer2); ngAfterContentInit(): void; updateClassModifierForIcons(): void; private updateIconClass; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export declare class KbqButton extends KbqColorDirective implements OnDestroy, AfterViewInit, KbqTitleTextRef { private focusMonitor; protected styler: KbqButtonCssStyler; private readonly changeDetectorRef; hasFocus: boolean; textElement: ElementRef; /** The flex row that lays out the icons and text, used as the overflow width constraint. */ parentTextElement: ElementRef; get kbqStyle(): string; set kbqStyle(value: string | KbqButtonStyles); private _kbqStyle; /** Whether the button is disabled. */ get disabled(): boolean; set disabled(value: boolean); /** @docs-private */ readonly disabledSignal: import("@angular/core").WritableSignal; get tabIndex(): number; set tabIndex(value: number); private _tabIndex; constructor(focusMonitor: FocusMonitor, styler: KbqButtonCssStyler); ngAfterViewInit(): void; ngOnDestroy(): void; onFocus(): void; onBlur(): void; getHostElement(): HTMLElement; focus(): void; focusViaKeyboard(): void; haltDisabledEvents: (event: Event) => void; private haltDisabledKeydownEvents; projectContentChanged(): void; private runFocusMonitor; private stopFocusMonitor; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_disabled: unknown; static ngAcceptInputType_tabIndex: unknown; }