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

declare class Switch implements AfterViewInit {
    /**
     * Defines the component design.
  
  **Note:** If `Graphical` type is set,
  positive and negative icons will replace the `textOn` and `textOff`.
     */
    design: _angular_core.InputSignal<"Textual" | "Graphical" | undefined>;
    /**
     * Defines if the component is checked.
  
  **Note:** The property can be changed with user interaction,
  either by cliking the component, or by pressing the `Enter` or `Space` key.
     */
    checked: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines whether the component is disabled.
  
  **Note:** A disabled component is noninteractive.
     */
    disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the text, displayed when the component is checked.
  
  **Note:** We recommend using short texts, up to 3 letters (larger texts would be cut off).
     */
    textOn: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the text, displayed when the component is not checked.
  
  **Note:** We recommend using short texts, up to 3 letters (larger texts would be cut off).
     */
    textOff: _angular_core.InputSignal<string | undefined>;
    /**
     * Sets the accessible ARIA name of the component.
  
  **Note**: We recommend that you set an accessibleNameRef pointing to an external label or at least an `accessibleName`.
  Providing an `accessibleNameRef` or an `accessibleName` is mandatory in the cases when `textOn` and `textOff` properties aren't set.
     */
    accessibleName: _angular_core.InputSignal<string | undefined>;
    /**
     * Receives id(or many ids) of the elements that label the component.
  
  **Note**: We recommend that you set an accessibleNameRef pointing to an external label or at least an `accessibleName`.
  Providing an `accessibleNameRef` or an `accessibleName` is mandatory in the cases when `textOn` and `textOff` properties aren't set.
     */
    accessibleNameRef: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the tooltip of the component.
  
  **Note:** If applicable an external label reference should always be the preferred option to provide context to the `ui5-switch` component over a tooltip.
     */
    tooltip: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines whether the component is required.
     */
    required: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * 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.
     */
    value: _angular_core.InputSignal<string | undefined>;
    /**
     * Fired when the component checked state changes.
     */
    ui5Change: _angular_core.OutputEmitterRef<UI5CustomEvent<_Switch, "change">>;
    elementRef: ElementRef<_Switch>;
    injector: Injector;
    get element(): _Switch;
    ngAfterViewInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<Switch, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<Switch, "ui5-switch, [ui5-switch]", ["ui5Switch"], { "design": { "alias": "design"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "textOn": { "alias": "textOn"; "required": false; "isSignal": true; }; "textOff": { "alias": "textOff"; "required": false; "isSignal": true; }; "accessibleName": { "alias": "accessibleName"; "required": false; "isSignal": true; }; "accessibleNameRef": { "alias": "accessibleNameRef"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "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 { Switch };
