import React from 'react';
import { ExpanderPanelDumb as ExpanderPanel } from '../ExpanderPanel/ExpanderPanel';
import { StandardProps } from '../../util/component-types';
import * as reducers from '../Accordion/Accordion.reducers';
interface IAccordionProps extends StandardProps {
    /**
     * Indicates which item is expanded
     * */
    selectedIndex?: number | null;
    /**
     * Called when the user clicks on the component's header of an item.
     * */
    onSelect: (selectedIndex: number | null, { event, props }: {
        event: React.MouseEvent;
        props: IAccordionProps;
    }) => void;
}
export interface IAccordionState {
    selectedIndex: number | null;
}
declare const Accordion: {
    (props: IAccordionProps): React.ReactElement;
    displayName: string;
    propTypes: {
        className: any;
        selectedIndex: any;
        onSelect: any;
        style: any;
    };
    peek: {
        description: string;
        categories: string[];
        madeFrom: string[];
    };
    defaultProps: {
        onSelect: (...args: any[]) => void;
    };
    reducers: typeof reducers;
    Item: typeof ExpanderPanel;
    Header: {
        (_props: import("../ExpanderPanel/ExpanderPanel").IExpanderPanelHeaderProps): null;
        displayName: string;
        peek: {
            description: string;
        };
        propName: string;
        propTypes: {
            children: any;
        };
    };
};
declare const _default: {
    (props: IAccordionProps): React.ReactElement<any, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)>;
    displayName: string;
    propTypes: {
        className: any;
        selectedIndex: any;
        onSelect: any;
        style: any;
    };
    peek: {
        description: string;
        categories: string[];
        madeFrom: string[];
    };
    defaultProps: {
        onSelect: (...args: any[]) => void;
    };
    reducers: typeof reducers;
    Item: typeof ExpanderPanel;
    Header: {
        (_props: import("../ExpanderPanel/ExpanderPanel").IExpanderPanelHeaderProps): null;
        displayName: string;
        peek: {
            description: string;
        };
        propName: string;
        propTypes: {
            children: any;
        };
    };
} & import("../../util/state-management").IHybridComponent<IAccordionProps, IAccordionState>;
export default _default;
export { Accordion as AccordionDumb };
//# sourceMappingURL=Accordion.d.ts.map