import * as _angular_core from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';

declare class VuiGlassFilter {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<VuiGlassFilter, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<VuiGlassFilter, "vui-glass-filter", never, {}, {}, never, never, true, never>;
}

type Size = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';

declare class VuiButton {
    readonly size: _angular_core.InputSignal<Size>;
    readonly textColor: _angular_core.InputSignal<string>;
    readonly type: _angular_core.InputSignal<string>;
    readonly disabled: _angular_core.InputSignal<boolean>;
    readonly wide: _angular_core.InputSignal<boolean>;
    readonly liquid: _angular_core.InputSignal<boolean>;
    get textColorClass(): string;
    get sizeClass(): string;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<VuiButton, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<VuiButton, "vui-button", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "textColor": { "alias": "textColor"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "wide": { "alias": "wide"; "required": false; "isSignal": true; }; "liquid": { "alias": "liquid"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
}

declare class VuiCard {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<VuiCard, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<VuiCard, "vui-card", never, {}, {}, never, ["*"], true, never>;
}

declare class VuiInput implements ControlValueAccessor {
    private readonly inputRef;
    readonly id: _angular_core.InputSignal<string>;
    readonly name: _angular_core.InputSignal<string>;
    readonly label: _angular_core.InputSignal<string>;
    readonly placeholder: _angular_core.InputSignal<string>;
    readonly type: _angular_core.InputSignal<string>;
    readonly disabled: _angular_core.InputSignal<boolean>;
    readonly readonly: _angular_core.InputSignal<boolean>;
    readonly size: _angular_core.InputSignal<string>;
    readonly maxlength: _angular_core.InputSignal<string>;
    readonly required: _angular_core.InputSignal<boolean>;
    readonly autofocus: _angular_core.InputSignal<boolean>;
    readonly autocomplete: _angular_core.InputSignal<string>;
    readonly input: _angular_core.OutputEmitterRef<Event>;
    readonly change: _angular_core.OutputEmitterRef<Event>;
    readonly focus: _angular_core.OutputEmitterRef<void>;
    readonly blur: _angular_core.OutputEmitterRef<void>;
    readonly click: _angular_core.OutputEmitterRef<Event>;
    readonly keydown: _angular_core.OutputEmitterRef<KeyboardEvent>;
    readonly keyup: _angular_core.OutputEmitterRef<KeyboardEvent>;
    readonly keypress: _angular_core.OutputEmitterRef<KeyboardEvent>;
    readonly paste: _angular_core.OutputEmitterRef<ClipboardEvent>;
    readonly cut: _angular_core.OutputEmitterRef<ClipboardEvent>;
    value: string;
    focused: boolean;
    onChange: (_: any) => void;
    onTouched: () => void;
    writeValue(val: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    handleInput(event: Event): void;
    handleFocus(): void;
    handleBlur(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<VuiInput, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<VuiInput, "vui-input", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; }, { "input": "input"; "change": "change"; "focus": "focus"; "blur": "blur"; "click": "click"; "keydown": "keydown"; "keyup": "keyup"; "keypress": "keypress"; "paste": "paste"; "cut": "cut"; }, never, never, true, never>;
}

declare class VuiCheckbox implements ControlValueAccessor {
    readonly id: _angular_core.InputSignal<string>;
    readonly label: _angular_core.InputSignal<string>;
    readonly disabled: _angular_core.InputSignal<boolean>;
    readonly checkedChange: _angular_core.OutputEmitterRef<boolean>;
    checked: _angular_core.WritableSignal<boolean>;
    private onChange;
    private onTouched;
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    toggle(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<VuiCheckbox, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<VuiCheckbox, "vui-checkbox", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "checkedChange": "checkedChange"; }, never, never, true, never>;
}

declare class VuiRadio implements ControlValueAccessor {
    readonly id: _angular_core.InputSignal<string>;
    readonly label: _angular_core.InputSignal<string>;
    readonly name: _angular_core.InputSignal<string>;
    readonly value: _angular_core.InputSignal<string>;
    readonly model: _angular_core.InputSignal<string | undefined>;
    readonly disabled: _angular_core.InputSignal<boolean>;
    readonly change: _angular_core.OutputEmitterRef<string>;
    selected: boolean;
    onChange: (_: any) => void;
    onTouched: () => void;
    writeValue(val: string): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    select(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<VuiRadio, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<VuiRadio, "vui-radio", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "model": { "alias": "model"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "change": "change"; }, never, never, true, never>;
}

export { VuiButton, VuiCard, VuiCheckbox, VuiGlassFilter, VuiInput, VuiRadio };
