import * as _angular_core from '@angular/core';
import { ControlValueAccessor, NgControl, Validators } from '@angular/forms';
import { Checkbox, CheckboxChangeEvent } from 'primeng/checkbox';
import { isInvalid } from '@masterteam/components';

declare class CheckboxField implements ControlValueAccessor {
    checkbox: Checkbox;
    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<Checkbox> | undefined>;
    required: _angular_core.InputSignal<boolean>;
    onChange: _angular_core.OutputEmitterRef<CheckboxChangeEvent>;
    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<CheckboxField, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<CheckboxField, "mt-checkbox-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; }; }, { "onChange": "onChange"; }, never, never, true, never>;
}

export { CheckboxField };
