import { CustomizationDialog } from './../index';
import { Animation } 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, ElementRenderMode } from './../index';
export { Smart } from './smart.element';
export { CustomizationDialog } from './../index';
export declare class CustomizationDialogComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges {
    constructor(ref: ElementRef<CustomizationDialog>);
    private eventHandlers;
    nativeElement: CustomizationDialog;
    /** @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 Sets or retrieves the animation mode for the component. When this property is set to 'none', all animations are disabled. If set to other supported values, the corresponding animation effects will be enabled for transitions or interactions. */
    get animation(): Animation | string;
    set animation(value: Animation | string);
    /** @description An array containing the filtered fields, each with its associated configuration settings. Each element in the array represents a specific field and includes detailed settings such as field type, validation rules, display options, and other relevant properties. */
    get dataSource(): any;
    set dataSource(value: any);
    /** @description Enhances or retrieves the value of the 'displayMember' property. The 'displayMember' determines which property of each object—within the collection referenced by the 'dataSource' property—will be displayed in the UI component. Set this property to the name of the object field you want to show as the display text for each item in the collection. */
    get displayMember(): string;
    set displayMember(value: string);
    /** @description Controls whether the element is active and interactive (enabled) or inactive and unresponsive to user input (disabled). */
    get disabled(): boolean;
    set disabled(value: boolean);
    /** @description Determines whether the filtering tab is enabled or disabled, allowing you to control its availability to users. When set to true, the filtering tab will be accessible; when false, it will be hidden or inactive. */
    get filtering(): boolean;
    set filtering(value: boolean);
    /** @description Controls whether the tab grouping feature is enabled or disabled. When enabled, users can organize multiple tabs into groups for improved navigation and management. When disabled, tab grouping functionality will not be available. */
    get grouping(): boolean;
    set grouping(value: boolean);
    /** @description Specifies which buttons will be displayed in the header section. Provide an array of button identifiers to control the visibility and order of header buttons. */
    get headerButtons(): string[];
    set headerButtons(value: string[]);
    /** @description Sets or retrieves the unlockKey, a unique code used to authorize and grant access to the product’s features or content. */
    get unlockKey(): string;
    set unlockKey(value: string);
    /** @description Sets or retrieves the current language code (e.g., "en", "fr", "es") used for localization. This property works together with the messages property to provide language-specific content or translations. When the language is set, the corresponding localized messages from the messages property are used throughout the application. */
    get locale(): string;
    set locale(value: string);
    /** @description Callback function associated with the localization module, typically used to handle language changes, translations, or localization-related events within the application. */
    get localizeFormatFunction(): any;
    set localizeFormatFunction(value: any);
    /** @description Defines an object containing customizable strings used in the widget's user interface that support localization. This property allows you to set or retrieve these strings to provide translations or alternative text in different languages. Typically used together with the locale property to enable multi-language support within the widget. */
    get messages(): any;
    set messages(value: any);
    /** @description Specifies whether column reordering is enabled or retrieves the current state. When active, users can change the order of columns by dragging and dropping them. */
    get reorder(): boolean;
    set reorder(value: boolean);
    /** @description Sets or retrieves the tab that is selected by default when the component is first initialized. This determines which tab is active and visible to the user upon loading. */
    get selectedTab(): number;
    set selectedTab(value: number);
    /** @description Determines whether the sorting tab is enabled or disabled. When set to true, the sorting tab will be available for user interaction; when set to false, the sorting tab will be hidden or inactive. */
    get sorting(): boolean;
    set sorting(value: boolean);
    /** @description Specifies the theme to be applied to the element. The theme controls the overall appearance, including colors, fonts, and styling, ensuring a consistent visual presentation across the user interface. */
    get theme(): string;
    set theme(value: string);
    /** @description When set to true, this property prevents the element from receiving keyboard focus, making it inaccessible via the tab key or programmatic focus methods. */
    get unfocusable(): boolean;
    set unfocusable(value: boolean);
    /** @description "Sets or retrieves the value of the element. The value is represented as an object, which may contain various properties relevant to the element's data or state." */
    get value(): any;
    set value(value: any);
    /** @description Specifies which property of the item object should be used as the item's value. The designated property will be accessed and stored as the value for each item in the list or collection. For example, if set to "id," the value from item.id will be used as the item's value. */
    get valueMember(): string;
    set valueMember(value: string);
    /** @description Determines whether the columns within the element can be toggled between visible and hidden states. When set, it controls the ability to programmatically or interactively hide or show individual columns. When retrieved, it returns the current configuration indicating if column visibility can be altered. */
    get visibility(): boolean;
    set visibility(value: boolean);
    /** @description This event is triggered each time the dialog component becomes visible to the user, such as when it is opened programmatically or through user interaction.
    *  @param event. The custom event. 	*/
    onOpen: EventEmitter<CustomEvent>;
    /** @description This event is triggered whenever the dialog component is closed, whether by user interaction (such as clicking a close button or pressing the Escape key) or programmatically through code. Use this event to perform cleanup actions, save state, or execute any logic that should occur after the dialog is dismissed.
    *  @param event. The custom event. 	*/
    onClose: EventEmitter<CustomEvent>;
    /** @description This event is triggered whenever the value of the value property is modified, either by user interaction or programmatic updates. It allows your application to respond in real time to changes in the data, ensuring that any dependent logic or UI is kept in sync with the current value.
    *  @param event. The custom event. 	*/
    onChange: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the dialog is closed as a result of the user clicking the "Apply" button. It allows you to perform actions or process data after the user confirms their selections or changes within the dialog by applying them.
    *  @param event. The custom event. 	*/
    onApply: EventEmitter<CustomEvent>;
    /** @description Opens a modal dialog window, allowing users to interact with additional content or options without navigating away from the current page.
    */
    open(): void;
    /** @description Closes the dialog window, dismissing its content and returning focus to the underlying page or application. This action may also trigger any associated cleanup or callback functions.
    */
    close(): void;
    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<CustomizationDialogComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<CustomizationDialogComponent, "smart-customization-dialog, [smart-customization-dialog]", ["smart-customization-dialog"], { "animation": "animation"; "dataSource": "dataSource"; "displayMember": "displayMember"; "disabled": "disabled"; "filtering": "filtering"; "grouping": "grouping"; "headerButtons": "headerButtons"; "unlockKey": "unlockKey"; "locale": "locale"; "localizeFormatFunction": "localizeFormatFunction"; "messages": "messages"; "reorder": "reorder"; "selectedTab": "selectedTab"; "sorting": "sorting"; "theme": "theme"; "unfocusable": "unfocusable"; "value": "value"; "valueMember": "valueMember"; "visibility": "visibility"; }, { "onOpen": "onOpen"; "onClose": "onClose"; "onChange": "onChange"; "onApply": "onApply"; }, never>;
}
