/// <reference types="react" />
import * as React from 'react';
import { StyleDeclaration } from 'aphrodite';
export interface CollapsingListStyle extends StyleDeclaration {
    CollapsingList: React.CSSProperties;
    title: React.CSSProperties;
    collapseButton: React.CSSProperties;
    body: React.CSSProperties;
    listContainer: React.CSSProperties;
    listFooter: React.CSSProperties;
    listItem: React.CSSProperties;
}
export declare const defaultCollapsingListStyle: CollapsingListStyle;
export interface CollapsingListProps {
    styles?: Partial<CollapsingListStyle>;
    defaultCollapsed?: boolean;
    collapsed?: boolean;
    onToggleCollapse?: (collapsed: boolean) => void;
    renderListItem?: (listItem: any, index: number) => JSX.Element;
    renderListFooter?: () => JSX.Element;
    renderListHeader?: () => JSX.Element;
    animationClass?: (collapsed: boolean) => {
        anim: {
            [id: string]: any;
        };
    };
    title: string | ((collapsed: boolean) => JSX.Element);
    items: any[];
}
export interface CollapsingListState {
    collapsed: boolean;
}
export declare class CollapsingList extends React.Component<CollapsingListProps, CollapsingListState> {
    constructor(props: CollapsingListProps);
    render(): JSX.Element;
    private onToggleCollapse;
}
export default CollapsingList;
