import { ElementRef, EventEmitter } from '@angular/core';
import * as i0 from "@angular/core";
declare global {
    interface Window {
        Smart: any;
    }
}
export declare class BaseElement {
    constructor(ref: ElementRef);
    onCreate: EventEmitter<any>;
    onReady: EventEmitter<any>;
    onAttach: EventEmitter<any>;
    onDetach: EventEmitter<any>;
    nativeElement: any;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    dispatchEvent(event: Event): boolean;
    blur(): void;
    click(): void;
    focus(options?: FocusOptions): void;
    /** @description Sets or gets the license.  */
    get license(): string;
    set license(value: string);
    /** @description Sets or gets the language. Used in conjunction with the property messages.  */
    get locale(): string;
    set locale(value: string);
    /** @description Callback used to customize the format of the messages that are returned from the Localization Module. */
    get localizeFormatFunction(): any;
    set localizeFormatFunction(value: any);
    /** @description Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale.  */
    get messages(): any;
    set messages(value: any);
    /** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */
    get rightToLeft(): boolean;
    set rightToLeft(value: boolean);
    /** @description Determines the theme. Theme defines the look of the element */
    get theme(): string;
    set theme(value: string);
    static ɵfac: i0.ɵɵFactoryDeclaration<BaseElement, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<BaseElement, never, never, { "license": "license"; "locale": "locale"; "localizeFormatFunction": "localizeFormatFunction"; "messages": "messages"; "rightToLeft": "rightToLeft"; "theme": "theme"; }, { "onCreate": "onCreate"; "onReady": "onReady"; "onAttach": "onAttach"; "onDetach": "onDetach"; }, never>;
}
declare let Smart: any;
export { Smart };
