import React, { PureComponent } from 'react';
import { AccordionItemInternalProps, AccordionItemType, AccordionProps, AccordionSectionItemProps, AccordionState } from './Accordion.types';
export declare class Accordion extends PureComponent<AccordionProps, AccordionState> {
    static displayName: string;
    _findOpenIndexes: (items?: AccordionItemType[], initial?: boolean) => number[];
    static defaultProps: {
        items: never[];
        multiple: boolean;
        skin: "standard";
        horizontalPadding: "large";
        hideShadow: boolean;
        transitionSpeed: string;
        size: string;
        titleSize: string;
    };
    constructor(props: AccordionProps);
    _compareOpenItems: (currentItems?: AccordionItemType[], prevItems?: AccordionItemType[]) => boolean;
    componentDidUpdate: (prevProps: AccordionProps) => void;
    _toggle: (index: number) => () => void;
    render(): React.JSX.Element;
}
export declare const accordionItemBuilder: (item: AccordionItemType) => {
    render: (uncontrolledProps: AccordionItemInternalProps, internalProps: AccordionSectionItemProps) => React.JSX.Element;
    key?: string | number;
    open?: boolean;
    initiallyOpen?: boolean;
    disabled?: boolean;
    title?: React.ReactNode;
    subtitle?: React.ReactNode;
    icon?: React.ReactNode;
    prefix?: React.ReactNode;
    suffix?: React.ReactNode;
    children?: React.ReactNode;
    expandLabel?: React.ReactNode;
    collapseLabel?: React.ReactNode;
    toggleIconPlacement?: "start" | "end";
    className?: string;
    buttonType?: "node" | "button" | "textButton";
    showLabel?: "always" | "hover";
    onToggle?: React.MouseEventHandler<HTMLElement>;
    onMouseEnter?: React.MouseEventHandler<HTMLElement>;
    onMouseLeave?: React.MouseEventHandler<HTMLElement>;
    last?: boolean;
    hideShadow?: boolean;
    skin?: "light" | "standard" | "neutral";
    size?: "small" | "medium" | "large" | "tiny";
    onAnimationEnter?: () => void;
    onAnimationExit?: () => void;
    transitionSpeed?: "medium" | "slow" | "fast";
    horizontalPadding?: "small" | "none" | "medium" | "large" | "tiny";
    contentPadding?: "none";
    titleSize?: "small" | "medium";
};
export declare const accordionSectionItemBuilder: (item: AccordionSectionItemProps) => {
    render: (_: AccordionItemInternalProps, internalProps: AccordionSectionItemProps) => React.JSX.Element;
    title?: React.ReactNode;
    key?: string | number | undefined;
};
export default Accordion;
//# sourceMappingURL=Accordion.d.ts.map