import * as _angular_core from '@angular/core';
import { OnInit, OnDestroy } from '@angular/core';

declare class HookChange {
    private readonly viewContainerRef;
    hookChange: _angular_core.InputSignal<any>;
    constructor();
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<HookChange, never>;
    static ɵdir: _angular_core.ɵɵDirectiveDeclaration<HookChange, "[hookChange]", never, { "hookChange": { "alias": "hookChange"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
}

declare class InputMask {
    private readonly ngxMask;
    private readonly elementRef;
    private get currentValue();
    private get input();
    mask: _angular_core.InputSignal<string>;
    constructor();
    private applyMask;
    private setValue;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputMask, never>;
    static ɵdir: _angular_core.ɵɵDirectiveDeclaration<InputMask, "input[mask]", never, { "mask": { "alias": "mask"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
}

declare class InputCurrencyMask implements OnInit, OnDestroy {
    private readonly elementRef;
    private readonly appConfig;
    private writedValue;
    decimalCount: _angular_core.InputSignal<number>;
    currencyValue: _angular_core.OutputEmitterRef<number>;
    private get decimalFormatConfig();
    private maskCoin;
    private unmaskCoin;
    private applyMask;
    private get currentValue();
    private setValue;
    private get input();
    private onFocus;
    private onKeyUp;
    private onKeyPress;
    private onKeyDown;
    private onPaste;
    private onReset;
    private onChange;
    private putInputCaretOnTheEnd;
    private updateWritedValue;
    ngOnDestroy(): void;
    ngOnInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputCurrencyMask, never>;
    static ɵdir: _angular_core.ɵɵDirectiveDeclaration<InputCurrencyMask, "input[currencyMask]", never, { "decimalCount": { "alias": "decimalCount"; "required": false; "isSignal": true; }; }, { "currencyValue": "currencyValue"; }, never, never, true, never>;
}

type TooltipPosition = 'top' | 'bottom' | 'left' | 'right';
declare class Tooltip {
    private readonly elementRef;
    tooltip: _angular_core.InputSignal<string>;
    tooltipPosition: _angular_core.InputSignal<TooltipPosition>;
    constructor();
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<Tooltip, never>;
    static ɵdir: _angular_core.ɵɵDirectiveDeclaration<Tooltip, "[tooltip]", never, { "tooltip": { "alias": "tooltip"; "required": true; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

type ButtonColor = 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error' | 'ghost';
type ButtonSize = 'extraSmall' | 'small' | 'medium' | 'large' | 'extraLarge';
declare class Button implements OnInit {
    private readonly elementRef;
    private readonly appRef;
    private readonly injector;
    private loaderComponent;
    color: _angular_core.InputSignal<ButtonColor>;
    type: _angular_core.InputSignal<"submit" | "button">;
    circle: _angular_core.InputSignalWithTransform<boolean, unknown>;
    outline: _angular_core.InputSignalWithTransform<boolean, unknown>;
    soft: _angular_core.InputSignalWithTransform<boolean, unknown>;
    showLoader: _angular_core.InputSignalWithTransform<boolean, unknown>;
    disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
    size: _angular_core.InputSignal<ButtonSize>;
    constructor();
    private createLoaderComponent;
    private toggleLoader;
    private getColorClass;
    private getSizeClass;
    ngOnInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<Button, never>;
    static ɵdir: _angular_core.ɵɵDirectiveDeclaration<Button, "button[klButton], a[klButton]", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "circle": { "alias": "circle"; "required": false; "isSignal": true; }; "outline": { "alias": "outline"; "required": false; "isSignal": true; }; "soft": { "alias": "soft"; "required": false; "isSignal": true; }; "showLoader": { "alias": "showLoader"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

export { Button, HookChange, InputCurrencyMask, InputMask, Tooltip };
export type { ButtonColor, ButtonSize };
