import * as _angular_core from '@angular/core';
import { AfterViewInit, ElementRef, Injector } from '@angular/core';
import _CheckBox from '@ui5/webcomponents/dist/CheckBox.js';
import { UI5CustomEvent } from '@ui5/webcomponents-base';
import * as i1 from '@fundamental-ngx/ui5-webcomponents/utils';

declare class CheckBox implements AfterViewInit {
    /**
     * Receives id(or many ids) of the elements that label the component
     */
    accessibleNameRef: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the accessible ARIA name of the component.
     */
    accessibleName: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines whether the component is disabled.
  
  **Note:** A disabled component is completely noninteractive.
     */
    disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines whether the component is read-only.
  
  **Note:** A read-only component is not editable,
  but still provides visual feedback upon user interaction.
     */
    readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Determines whether the `ui5-checkbox` is in display only state.
  
  When set to `true`, the `ui5-checkbox` is not interactive, not editable, not focusable
  and not in the tab chain. This setting is used for forms in review mode.
  
  **Note:** When the property `disabled` is set to `true` this property has no effect.
     */
    displayOnly: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines whether the component is required.
  
  **Note:** We advise against using the text property of the checkbox when there is a
  label associated with it to avoid having two required asterisks.
     */
    required: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines whether the component is displayed as partially checked.
  
  **Note:** The indeterminate state can be set only programmatically and can’t be achieved by user
  interaction and the resulting visual state depends on the values of the `indeterminate`
  and `checked` properties:
  
  -  If the component is checked and indeterminate, it will be displayed as partially checked
  -  If the component is checked and it is not indeterminate, it will be displayed as checked
  -  If the component is not checked, it will be displayed as not checked regardless value of the indeterminate attribute
     */
    indeterminate: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines if the component is checked.
  
  **Note:** The property can be changed with user interaction,
  either by cliking/tapping on the component, or by
  pressing the Enter or Space key.
     */
    checked: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the text of the component.
     */
    text: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the value state of the component.
     */
    valueState: _angular_core.InputSignal<"None" | "Positive" | "Critical" | "Negative" | "Information" | undefined>;
    /**
     * Defines whether the component text wraps when there is not enough space.
  
  **Note:** for option "Normal" the text will wrap and the words will not be broken based on hyphenation.
  **Note:** for option "None" the text will be truncated with an ellipsis.
     */
    wrappingType: _angular_core.InputSignal<"None" | "Normal" | undefined>;
    /**
     * Determines the name by which the component will be identified upon submission in an HTML form.
  
  **Note:** This property is only applicable within the context of an HTML Form element.
     */
    name: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the form value of the component that is submitted when the checkbox is checked.
  
  When a form containing `ui5-checkbox` elements is submitted, only the values of the
  **checked** checkboxes are included in the form data sent to the server. Unchecked
  checkboxes do not contribute any data to the form submission.
  
  This property is particularly useful for **checkbox groups**, where multiple checkboxes with the same `name` but different `value` properties can be used to represent a set of related options.
     */
    value: _angular_core.InputSignal<string | undefined>;
    /**
     * Fired when the component checked state changes.
     */
    ui5Change: _angular_core.OutputEmitterRef<UI5CustomEvent<_CheckBox, "change">>;
    elementRef: ElementRef<_CheckBox>;
    injector: Injector;
    get element(): _CheckBox;
    ngAfterViewInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<CheckBox, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<CheckBox, "ui5-checkbox, [ui5-checkbox]", ["ui5CheckBox"], { "accessibleNameRef": { "alias": "accessibleNameRef"; "required": false; "isSignal": true; }; "accessibleName": { "alias": "accessibleName"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "displayOnly": { "alias": "displayOnly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "valueState": { "alias": "valueState"; "required": false; "isSignal": true; }; "wrappingType": { "alias": "wrappingType"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "ui5Change": "ui5Change"; }, never, ["*"], true, [{ directive: typeof i1.GenericControlValueAccessor; inputs: {}; outputs: {}; }]>;
}

export { CheckBox };
