import * as _angular_core from '@angular/core';
import { TemplateRef } from '@angular/core';
import { ControlValueAccessor, NgControl, Validators } from '@angular/forms';
import { ToggleSwitch, ToggleSwitchChangeEvent } from 'primeng/toggleswitch';
import { isInvalid } from '@masterteam/components';
import { MTIcon } from '@masterteam/icons';

declare class ToggleField implements ControlValueAccessor {
    toggle: ToggleSwitch;
    label: _angular_core.InputSignal<string | undefined>;
    labelPosition: _angular_core.InputSignal<"top" | "start" | "end" | "bottom">;
    placeholder: _angular_core.InputSignal<string | undefined>;
    readonly: _angular_core.InputSignal<boolean>;
    pInputs: _angular_core.InputSignal<Partial<ToggleSwitch> | undefined>;
    required: _angular_core.InputSignal<boolean>;
    toggleShape: _angular_core.InputSignal<"toggle" | "card">;
    size: _angular_core.InputSignal<"small" | "large">;
    icon: _angular_core.InputSignal<MTIcon | undefined>;
    descriptionCard: _angular_core.InputSignal<string | undefined>;
    toggleCardBottom: _angular_core.Signal<TemplateRef<unknown> | undefined>;
    onChange: _angular_core.OutputEmitterRef<ToggleSwitchChangeEvent>;
    ngControl: NgControl;
    isInvalid: typeof isInvalid;
    isVertical: _angular_core.Signal<boolean>;
    requiredValidator: typeof Validators.required;
    value: _angular_core.WritableSignal<boolean | null>;
    disabled: _angular_core.WritableSignal<boolean>;
    onTouched: () => void;
    onModelChange: (value: boolean | null) => void;
    constructor();
    applyInputsToCheckbox(): void;
    onValueChange(value: boolean | null): void;
    writeValue(value: boolean | null): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(disabled: boolean): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToggleField, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToggleField, "mt-toggle-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "pInputs": { "alias": "pInputs"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "toggleShape": { "alias": "toggleShape"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "descriptionCard": { "alias": "descriptionCard"; "required": false; "isSignal": true; }; }, { "onChange": "onChange"; }, ["toggleCardBottom"], never, true, never>;
}

export { ToggleField };
