import { RepeatButton } from './../index';
import { Animation, ClickMode } from './../index';
import { AfterViewInit, ElementRef, OnInit, OnChanges, OnDestroy, SimpleChanges, EventEmitter } from '@angular/core';
import { BaseElement } from './smart.element';
import * as i0 from "@angular/core";
export { Animation, ClickMode, ElementRenderMode } from './../index';
export { Smart } from './smart.element';
export { RepeatButton } from './../index';
export declare class RepeatButtonComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges {
    constructor(ref: ElementRef<RepeatButton>);
    private eventHandlers;
    nativeElement: RepeatButton;
    /** @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 Gets or sets the animation mode for the element. When this property is set to 'none', all animations are disabled. Otherwise, specifying a different value will enable and control the element’s animation behavior according to the selected mode. */
    get animation(): Animation | string;
    set animation(value: Animation | string);
    /** @description Defines how the button responds to user click interactions, determining whether actions are triggered on mouse press, release, or other specific conditions. */
    get clickMode(): ClickMode | string;
    set clickMode(value: ClickMode | string);
    /** @description Specifies the amount of time, in milliseconds, to wait between each repeated action or event. This determines how long the system pauses before triggering the repeat again. */
    get delay(): number;
    set delay(value: number);
    /** @description Controls whether the ratio button is visible and can be interacted with. When enabled, users can use the ratio button; when disabled, the button is hidden or inactive. */
    get disabled(): boolean;
    set disabled(value: boolean);
    /** @description Specifies the amount of time, in milliseconds, to wait before starting the first repeat iteration. This delay occurs only before the initial repetition and does not affect subsequent iterations. */
    get initialDelay(): number;
    set initialDelay(value: number);
    /** @description Assigns the specified HTML markup to the element's inner content, replacing all existing child elements and text. Be cautious when inserting dynamic content to avoid potential security risks such as cross-site scripting (XSS). */
    get innerHTML(): string;
    set innerHTML(value: string);
    /** @description Sets or retrieves the unlockKey used to authorize and enable access to the product. This key is required to unlock product features or functionalities that are otherwise restricted. */
    get unlockKey(): string;
    set unlockKey(value: string);
    /** @description Specifies or retrieves the current language code (e.g., "en", "fr", "es") used for localizing content. This property works together with the messages property to determine which set of translations or text strings to display based on the selected language. Setting this value controls which messages from the messages object are shown to users. */
    get locale(): string;
    set locale(value: string);
    /** @description Callback function associated with the localization module, typically invoked to handle language changes, load localized resources, or update interface text based on the selected locale. */
    get localizeFormatFunction(): any;
    set localizeFormatFunction(value: any);
    /** @description Defines an object containing string values that represent the various states of password strength, such as "weak," "medium," and "strong." Each property in the object corresponds to a specific password strength level, allowing for the customization of messages or labels displayed to users based on the evaluated strength of their password. */
    get messages(): any;
    set messages(value: any);
    /** @description Retrieves the current name of the widget or assigns a new name to the widget. This property allows you to identify and reference the widget programmatically. */
    get name(): string;
    set name(value: string);
    /** @description When the custom element is set to "readonly", all user interactions—such as input, edits, or selection—are disabled. The element's content is visible but cannot be modified or interacted with by the user. This ensures that the data remains unchanged while still allowing it to be displayed. */
    get readonly(): boolean;
    set readonly(value: boolean);
    /** @description Specifies the visual theme to be applied to the element. The selected theme controls the element’s overall appearance, including colors, fonts, and styling, ensuring a consistent look and feel across the interface. */
    get theme(): string;
    set theme(value: string);
    /** @description If set to true, the element will be removed from the tab order and cannot receive keyboard focus. This means users will not be able to focus on the element using the keyboard (e.g., by pressing the Tab key), enhancing accessibility control. */
    get unfocusable(): boolean;
    set unfocusable(value: boolean);
    /** @description Sets a new value for the widget or retrieves its current value, allowing for both updating and accessing the widget's data. */
    get value(): string;
    set value(value: string);
    /** @description This event is triggered each time the user clicks on the specified element. It occurs after a complete click action, which includes both the pressing and releasing of the mouse button (typically the left button) over the element. The event provides access to click-related information, such as the mouse position and any modifier keys pressed during the click.
    *  @param event. The custom event. 	*/
    onClick: EventEmitter<CustomEvent>;
    get isRendered(): boolean;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    /** @description Add event listeners. */
    private listen;
    /** @description Remove event listeners. */
    private unlisten;
    static ɵfac: i0.ɵɵFactoryDeclaration<RepeatButtonComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<RepeatButtonComponent, "smart-repeat-button, [smart-repeat-button]", ["smart-repeat-button"], { "animation": "animation"; "clickMode": "clickMode"; "delay": "delay"; "disabled": "disabled"; "initialDelay": "initialDelay"; "innerHTML": "innerHTML"; "unlockKey": "unlockKey"; "locale": "locale"; "localizeFormatFunction": "localizeFormatFunction"; "messages": "messages"; "name": "name"; "readonly": "readonly"; "theme": "theme"; "unfocusable": "unfocusable"; "value": "value"; }, { "onClick": "onClick"; }, never>;
}
