import { AccordionLayout, AccordionModel, Comparator, EventHandler, Group, GroupCollapseStyle, InitModelOf, LoadingSupport, ObjectOrChildModel, PropertyChangeEvent, Widget } from '../index';
export declare class Accordion extends Widget implements AccordionModel {
    model: AccordionModel;
    comparator: Comparator<Group>;
    collapseStyle: GroupCollapseStyle;
    exclusiveExpand: boolean;
    groups: Group[];
    scrollable: boolean;
    protected _groupPropertyChangeHandler: EventHandler<PropertyChangeEvent<any>>;
    constructor();
    protected _init(model: InitModelOf<this>): void;
    protected _createLoadingSupport(): LoadingSupport;
    protected _render(): void;
    protected _createLayout(): AccordionLayout;
    protected _renderProperties(): void;
    insertGroup(group: ObjectOrChildModel<Group>): void;
    insertGroups(groupsToInsert: ObjectOrChildModel<Group> | ObjectOrChildModel<Group>[]): void;
    deleteGroup(group: Group): void;
    deleteGroups(groupsToDelete: Group[] | Group): void;
    deleteAllGroups(): void;
    protected _initGroups(groups: Group[]): void;
    setGroups(groupsOrModels: ObjectOrChildModel<Group> | ObjectOrChildModel<Group>[]): void;
    protected _insertGroups(groups: Group[]): void;
    protected _insertGroup(group: Group): void;
    protected _initGroup(group: Group): void;
    protected _renderGroup(group: Group): void;
    protected _deleteGroups(groups: Group[]): void;
    protected _deleteGroup(group: Group): void;
    protected _renderGroups(): void;
    /** @see AccordionModel.comparator */
    setComparator(comparator: Comparator<Group>): void;
    sort(): void;
    protected _sort(groups: Group[]): void;
    protected _updateGroupOrder(groups: Group[]): void;
    protected _updateFirstLastMarker(): void;
    setScrollable(scrollable: boolean): void;
    protected _renderScrollable(): void;
    get$Focusable(): JQuery;
    /** @see AccordionModel.exclusiveExpand */
    setExclusiveExpand(exclusiveExpand: boolean): void;
    protected _setExclusiveExpand(exclusiveExpand: boolean): void;
    protected _updateExclusiveExpand(): void;
    setCollapseStyle(collapseStyle: GroupCollapseStyle): void;
    protected _collapseOthers(expandedGroup: Group): void;
    protected _onGroupPropertyChange(event: PropertyChangeEvent<any>): void;
    protected _onGroupCollapsedChange(event: PropertyChangeEvent<boolean>): void;
}
//# sourceMappingURL=Accordion.d.ts.map