import * as _angular_core from '@angular/core';
import { OnInit, OnDestroy } from '@angular/core';
import { Color } from '@sdcorejs/utils/models';
import { MaterialIconFontSet } from '@sdcorejs/angular/utilities/models';

type SdButtonType = 'fill' | 'light' | 'outline' | 'link';
type SdButtonSize = 'sm' | 'md' | 'lg';
type SdButtonHtmlType = 'button' | 'submit' | 'reset';
declare class SdButton implements OnInit, OnDestroy {
    #private;
    private el;
    autoIdInput: _angular_core.InputSignal<string | null | undefined>;
    type: _angular_core.InputSignalWithTransform<SdButtonType, SdButtonType | null | undefined>;
    color: _angular_core.InputSignalWithTransform<Color, Color | null | undefined>;
    size: _angular_core.InputSignalWithTransform<SdButtonSize, SdButtonSize | null | undefined>;
    fontSet: _angular_core.InputSignalWithTransform<MaterialIconFontSet, MaterialIconFontSet | null | undefined>;
    title: _angular_core.InputSignal<string | null | undefined>;
    width: _angular_core.InputSignal<string | null | undefined>;
    tooltip: _angular_core.InputSignal<string | null | undefined>;
    prefixIcon: _angular_core.InputSignal<string | null | undefined>;
    suffixIcon: _angular_core.InputSignal<string | null | undefined>;
    disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
    loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
    block: _angular_core.InputSignalWithTransform<boolean, unknown>;
    htmlType: _angular_core.InputSignalWithTransform<SdButtonHtmlType, SdButtonHtmlType | null | undefined>;
    autoId: _angular_core.Signal<string | undefined>;
    buttonClasses: _angular_core.Signal<{
        'c-square': boolean | "" | null | undefined;
        'c-sm': boolean;
        'c-md': boolean;
        'c-lg': boolean;
        'c-disabled': boolean;
        'c-block': boolean;
    }>;
    click: _angular_core.OutputEmitterRef<Event>;
    constructor();
    ngOnInit(): void;
    onInternalClick(event: Event): void;
    ngOnDestroy(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdButton, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdButton, "sd-button", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fontSet": { "alias": "fontSet"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; "isSignal": true; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "block": { "alias": "block"; "required": false; "isSignal": true; }; "htmlType": { "alias": "htmlType"; "required": false; "isSignal": true; }; }, { "click": "click"; }, never, never, true, never>;
}

export { SdButton };
export type { SdButtonHtmlType, SdButtonSize, SdButtonType };
