import * as i0 from '@angular/core';
import { EventEmitter, ElementRef } from '@angular/core';
import { SymbolComponent, SymbolRegistry } from '@agorapulse/ui-symbol';
import { MatMenuPanel } from '@angular/material/menu';

type ButtonType = 'flat' | 'stroked-transparent' | 'stroked';
type ButtonColor = 'none' | 'blue' | 'red' | 'green';
declare class IconButtonComponent {
    private symbolRegistry;
    private elementRef;
    ariaLabel: string;
    name: string;
    color: ButtonColor;
    disabled: boolean;
    menuTrigger: MatMenuPanel | null;
    symbolId: i0.InputSignal<string | undefined>;
    set locked(locked: boolean);
    get locked(): boolean;
    set loading(loading: boolean);
    get loading(): boolean;
    type: ButtonType;
    onClick: EventEmitter<MouseEvent>;
    onFocus: EventEmitter<FocusEvent>;
    onBlur: EventEmitter<FocusEvent>;
    menuOpened: EventEmitter<void>;
    menuClosed: EventEmitter<void>;
    symbolComponent: SymbolComponent;
    buttonElement: ElementRef<HTMLButtonElement>;
    private _loading;
    private _locked;
    hostDataTest: string | undefined;
    focused: boolean;
    constructor(symbolRegistry: SymbolRegistry, elementRef: ElementRef);
    onClickHandle($event: MouseEvent): void;
    onBlurHandle($event: FocusEvent): void;
    onFocusHandle($event: FocusEvent): void;
    onSpaceKeyUp(event: Event): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<IconButtonComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IconButtonComponent, "ap-icon-button", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "name": { "alias": "name"; "required": false; }; "color": { "alias": "color"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "menuTrigger": { "alias": "menuTrigger"; "required": false; }; "symbolId": { "alias": "symbolId"; "required": false; "isSignal": true; }; "locked": { "alias": "locked"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, { "onClick": "onClick"; "onFocus": "onFocus"; "onBlur": "onBlur"; "menuOpened": "menuOpened"; "menuClosed": "menuClosed"; }, ["symbolComponent"], ["*"], true, never>;
    static ngAcceptInputType_disabled: unknown;
}

export { IconButtonComponent };
export type { ButtonColor, ButtonType };
