import { ColumnPanel } from './../index';
import { Animation, ColumnPanelDataSource } 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, ColumnPanelDataSource, ElementRenderMode } from './../index';
export { Smart } from './smart.element';
export { ColumnPanel } from './../index';
export declare class ColumnPanelComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges {
    constructor(ref: ElementRef<ColumnPanel>);
    private eventHandlers;
    nativeElement: ColumnPanel;
    /** @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 Configures or retrieves the current animation mode for the element. When set to 'none', all animations are disabled and the element will update instantly without any animated transitions. Use this property to enable, disable, or specify different animation behaviors as needed. */
    get animation(): Animation | string;
    set animation(value: Animation | string);
    /** @description Specifies the data source from which content will be retrieved and displayed in the column panel. This setting determines what data is loaded and shown within the column panel interface. */
    get dataSource(): ColumnPanelDataSource[];
    set dataSource(value: ColumnPanelDataSource[]);
    /** @description Determines whether the column panel is active. When enabled, the column panel is displayed, allowing users to view and manage available columns. When disabled, the column panel is inactive. */
    get disabled(): boolean;
    set disabled(value: boolean);
    /** @description Sets or retrieves the 'unlockKey' value, a unique key required to unlock and grant access to the product’s protected features or content. Use this property to securely store or obtain the unlock key as part of the product activation process. */
    get unlockKey(): string;
    set unlockKey(value: string);
    /** @description Gets or sets the current language used for displaying messages or content. This property works together with the messages property, which contains localized text for each supported language. Selecting a language updates the displayed messages to their corresponding translations defined in the messages object. */
    get locale(): string;
    set locale(value: string);
    /** @description Callback function that allows you to define or modify the formatting of messages returned by the Localization Module. Use this to customize how localized messages are displayed or structured before they are delivered to the application interface. */
    get localizeFormatFunction(): any;
    set localizeFormatFunction(value: any);
    /** @description Handles the setting or retrieval of an object containing customizable strings used throughout the widget interface, enabling localization of text elements. This property works in tandem with the locale property to provide language-specific translations, ensuring the widget displays appropriate text based on the user's selected language or region. */
    get messages(): any;
    set messages(value: any);
    /** @description When an element is set to "readonly," users cannot modify its value or content. However, they can still focus on the element (for example, by tabbing to it) and select its text. Unlike disabled elements—which are neither interactive nor focusable—a readonly element remains accessible for review but does not allow user edits. */
    get readonly(): boolean;
    set readonly(value: boolean);
    /** @description Gets or sets a value that specifies whether the element's layout direction is set to right-to-left, enabling proper alignment and display for languages and locales that use right-to-left text, such as Arabic or Hebrew. */
    get rightToLeft(): boolean;
    set rightToLeft(value: boolean);
    /** @description If this property is set to true, the element will be unfocusable, meaning users will not be able to focus on it using keyboard navigation (such as the Tab key) or by clicking on it. */
    get unfocusable(): boolean;
    set unfocusable(value: boolean);
    /** @description This event is triggered whenever the user clicks the "Apply" button on the interface, indicating their intent to submit or confirm the current selection or settings. It is typically used to initiate processes such as form submission, filtering data, or applying configuration changes, depending on the context of the application.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	value, 	positionChanged)
    *   value - The current configuration of columns (data source).
    *   positionChanged - A boolean detail that shows whether the columns have been reordered.
    */
    onApply: EventEmitter<CustomEvent>;
    /** @description This event is triggered when a user clicks the "Cancel" button, indicating their intention to abort or exit the current action or form. It can be used to execute custom logic, such as closing a dialog, discarding unsaved changes, or navigating away from the current view.
    *  @param event. The custom event. 	*/
    onCancel: 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<ColumnPanelComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ColumnPanelComponent, "smart-column-panel, [smart-column-panel]", ["smart-column-panel"], { "animation": "animation"; "dataSource": "dataSource"; "disabled": "disabled"; "unlockKey": "unlockKey"; "locale": "locale"; "localizeFormatFunction": "localizeFormatFunction"; "messages": "messages"; "readonly": "readonly"; "rightToLeft": "rightToLeft"; "unfocusable": "unfocusable"; }, { "onApply": "onApply"; "onCancel": "onCancel"; }, never>;
}
