import { PowerButton } from './../index';
import { Animation, ClickMode } from './../index';
import { AfterViewInit, ElementRef, OnInit, OnChanges, OnDestroy, SimpleChanges, EventEmitter } from '@angular/core';
import { BaseElement } from './smart.element';
import { ControlValueAccessor } from '@angular/forms';
import * as i0 from "@angular/core";
export { Animation, ClickMode, ElementRenderMode } from './../index';
export { Smart } from './smart.element';
export { PowerButton } from './../index';
export declare class PowerButtonComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges, ControlValueAccessor {
    constructor(ref: ElementRef<PowerButton>);
    private eventHandlers;
    nativeElement: PowerButton;
    /** @description Creates the component on demand.
     * @param properties An optional object of properties, which will be added to the template binded ones.
     */
    createComponent(properties?: {}): any;
    /**
    * @description
    * The registered callback function called when a change event occurs on the form elements.
    */
    _onChange: (value: any) => void;
    /**
    * @description
    * The registered callback function called when a blur event occurs on the form elements.
    */
    _onTouched: () => any;
    /** @description Specifies or retrieves the current animation mode for the element. When the property is set to 'none', all animations are disabled and the element will render without any animated transitions or effects. Otherwise, animations will be applied according to the specified mode. */
    get animation(): Animation | string;
    set animation(value: Animation | string);
    /** @description Sets or retrieves the current checked state of the element, indicating whether it is selected, unselected, or in an indeterminate state. */
    get checked(): boolean;
    set checked(value: boolean);
    /** @description Specifies how the button responds to user clicks, determining the interaction behavior such as whether the action is triggered on mouse press, release, or another click event. */
    get clickMode(): ClickMode | string;
    set clickMode(value: ClickMode | string);
    /** @description Controls whether the power button is active or inactive. When enabled, the power button is functional and can be used to perform its designated action. When disabled, the power button is unresponsive and cannot be used. */
    get disabled(): boolean;
    set disabled(value: boolean);
    /** @description Gets or sets the unlockKey property, a unique string used to authenticate and unlock access to the product’s features or full version. This key must be valid to successfully enable restricted functionality. */
    get unlockKey(): string;
    set unlockKey(value: string);
    /** @description Specifies the current language to be used for message localization. This property determines which language's messages are retrieved from the messages property. You can use it to set or get the active language code (e.g., 'en', 'fr', 'es'), ensuring the appropriate localized messages are displayed to users. */
    get locale(): string;
    set locale(value: string);
    /** @description Callback function associated with the localization module, typically used to handle language changes, load translations, or update content based on the selected locale. */
    get localizeFormatFunction(): any;
    set localizeFormatFunction(value: any);
    /** @description Defines or retrieves an object containing the text strings used within the widget, allowing for customization and localization of user interface elements. This property works together with the locale setting to display the widget's labels, messages, and other textual content in the appropriate language. The provided object maps text keys to their localized string values. */
    get messages(): any;
    set messages(value: any);
    /** @description Gets the current name of the widget or sets a new name for the widget. This property allows you to retrieve the widget's identifier or assign a custom name to help distinguish it from other widgets in your application. */
    get name(): string;
    set name(value: string);
    /** @description When the custom element is set to readonly, its content cannot be modified by the user either through direct input or interaction with form controls within the element. However, users may still be able to focus, highlight, or copy its content, depending on its implementation. No actions or events that would change the element’s value or state will be permitted. */
    get readonly(): boolean;
    set readonly(value: boolean);
    /** @description Specifies the theme to be applied to the element. The selected theme controls the visual style, including colors, fonts, and overall appearance, ensuring a consistent look and feel across the component. */
    get theme(): string;
    set theme(value: string);
    /** @description If set to true, the element will be excluded from the tab sequence and cannot receive keyboard focus. This means users will not be able to navigate to the element using the Tab key or programmatically set focus to it. */
    get unfocusable(): boolean;
    set unfocusable(value: boolean);
    /** @description Retrieves the current value of the widget or assigns a new value to it. This property allows you to read the widget's state or update it programmatically. */
    get value(): string;
    set value(value: string);
    /** @description This event is triggered whenever the widget's state changes, specifically when it becomes either checked or unchecked. It allows you to handle actions in response to the user selecting or deselecting the widget.
    *  @param event. The custom event. 	*/
    onChange: EventEmitter<CustomEvent>;
    get isRendered(): boolean;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    _initialChange: boolean;
    get ngValue(): any;
    set ngValue(value: any);
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    ngOnChanges(changes: SimpleChanges): void;
    /** @description Add event listeners. */
    private listen;
    /** @description Remove event listeners. */
    private unlisten;
    static ɵfac: i0.ɵɵFactoryDeclaration<PowerButtonComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<PowerButtonComponent, "smart-power-button, [smart-power-button]", ["smart-power-button"], { "animation": "animation"; "checked": "checked"; "clickMode": "clickMode"; "disabled": "disabled"; "unlockKey": "unlockKey"; "locale": "locale"; "localizeFormatFunction": "localizeFormatFunction"; "messages": "messages"; "name": "name"; "readonly": "readonly"; "theme": "theme"; "unfocusable": "unfocusable"; "value": "value"; }, { "onChange": "onChange"; }, never>;
}
