import { Accordion } from './../index';
import { Animation, AccordionExpandMode } 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, AccordionExpandMode, ElementRenderMode } from './../index';
export { Smart } from './smart.element';
export { Accordion } from './../index';
export declare class AccordionComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges {
    constructor(ref: ElementRef<Accordion>);
    private eventHandlers;
    nativeElement: Accordion;
    /** @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 gets the animation mode. Animation is disabled when the property is set to 'none' */
    get animation(): Animation | string;
    set animation(value: Animation | string);
    /** @description Determines the data source that will be loaded to the Accordion. */
    get dataSource(): any;
    set dataSource(value: any);
    /** @description Enables or disables the accordion. Disabled elements can not be interacted with. */
    get disabled(): boolean;
    set disabled(value: boolean);
    /** @description Sets or gets the expanded item indexes. Using this property items can be expanded by passing in their indexes. The number of expanded items is limited by the expandMode. */
    get expandedIndexes(): number[];
    set expandedIndexes(value: number[]);
    /** @description Sets or gets the expand mode. Expand mode determines how the items will expand or collapse. */
    get expandMode(): AccordionExpandMode | string;
    set expandMode(value: AccordionExpandMode | string);
    /** @description Sets or gets the unlockKey which unlocks the product. */
    get unlockKey(): string;
    set unlockKey(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 Determines if the element is readonly or not. If the element true, users cannot interact with it. */
    get readonly(): boolean;
    set readonly(value: boolean);
    /** @description Enables or disables accordion reordering. */
    get reorder(): boolean;
    set reorder(value: boolean);
    /** @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);
    /** @description Determines whether the element can be focused or not. */
    get unfocusable(): boolean;
    set unfocusable(value: boolean);
    /** @description This event is triggered when an item is collapsed.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	content, 	index, 	label)
    *   content - The content of the item.
    *   index - The index of the item.
    *   label - The label of the item
    */
    onCollapse: EventEmitter<CustomEvent>;
    /** @description This event is triggered when an item is going to be collapsed.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	content, 	index, 	label)
    *   content - The content of the item.
    *   index - The index of the item.
    *   label - The label of the item
    */
    onCollapsing: EventEmitter<CustomEvent>;
    /** @description This event is triggered when a reordering operation is completed.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	position, 	target, 	content, 	index, 	label)
    *   position - The current top and left position of the item that was dragged.
    *   target - The item that was dragged.
    *   content - The content of the item.
    *   index - The index of the item.
    *   label - The label of the item.
    */
    onDragEnd: EventEmitter<CustomEvent>;
    /** @description This event is triggered when a reordering operation is started.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	position, 	target, 	content, 	index, 	label)
    *   position - The current top and left position of the item that is about to be dragged.
    *   target - The item that is about to be dragged.
    *   content - The content of the item.
    *   index - The index of the item.
    *   label - The label of the item.
    */
    onDragStart: EventEmitter<CustomEvent>;
    /** @description This event is triggered when an item is expanded.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	position, 	target, 	content, 	index, 	label)
    *   position - The current top and left position of the item.
    *   target - The item that was dragged.
    *   content - The content of the item.
    *   index - The index of the item.
    *   label - The label of the item.
    */
    onExpand: EventEmitter<CustomEvent>;
    /** @description This event is triggered when an item is going to be expanded.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	content, 	index, 	label)
    *   content - The content of the item.
    *   index - The index of the item.
    *   label - The label of the item
    */
    onExpanding: EventEmitter<CustomEvent>;
    /** @description Collapses an item at a specified index.
    * @param {number} position. The index of the collapsed item.
    */
    collapse(position: number): void;
    /** @description Expands an item at a specified index.
    * @param {number} position. The index of the expanded item.
    */
    expand(position: number): void;
    /** @description Inserts a new item at a specified index.
    * @param {number} index. The index where the item must be inserted.
    * @param {any} item. An object containing the values for the properties of the new item to be inserted.
    */
    insert(index: number, item: any): void;
    /** @description Removes an item at a specified index.
    * @param {number} position. The index of the item to be removed.
    */
    removeAt(position: number): void;
    /** @description Updates an item from the element.
    * @param {number} index. The index of the item to be updated.
    * @param {any} settings. An object containing the values for the properties of the item that will be updated.
    */
    update(index: number, settings: any): 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<AccordionComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AccordionComponent, "smart-accordion, [smart-accordion]", ["smart-accordion"], { "animation": "animation"; "dataSource": "dataSource"; "disabled": "disabled"; "expandedIndexes": "expandedIndexes"; "expandMode": "expandMode"; "unlockKey": "unlockKey"; "locale": "locale"; "localizeFormatFunction": "localizeFormatFunction"; "messages": "messages"; "readonly": "readonly"; "reorder": "reorder"; "rightToLeft": "rightToLeft"; "theme": "theme"; "unfocusable": "unfocusable"; }, { "onCollapse": "onCollapse"; "onCollapsing": "onCollapsing"; "onDragEnd": "onDragEnd"; "onDragStart": "onDragStart"; "onExpand": "onExpand"; "onExpanding": "onExpanding"; }, never>;
}
