import type { PropsWithChildren } from 'react';
import React from 'react';
import type { ClassValue, ThemeProps } from 'jamis-core';
import type { CollapseSchema } from '../types';
export interface CollapseProps extends PropsWithChildren, ThemeProps, Omit<CollapseSchema, 'className' | 'header' | 'collapseHeader' | 'expandIcon'> {
    id?: string;
    key?: string;
    collapseId?: string;
    propKey?: string;
    header?: React.ReactNode;
    showArrow?: boolean;
    expandIcon?: React.ReactElement | null;
    collapseHeader?: React.ReactElement | null;
    wrapperComponent?: any;
    headingComponent?: any;
    propsUpdate?: boolean;
    body: any;
    headingClassName?: ClassValue;
    onCollapse?: (item: any, collapsed: boolean) => void;
}
interface CollapseState {
    collapsed: boolean;
}
export default class BasicCollapse extends React.Component<CollapseProps, CollapseState> {
    static defaultProps: Partial<CollapseProps>;
    state: CollapseState;
    constructor(props: CollapseProps);
    static getDerivedStateFromProps(nextProps: CollapseProps, preState: CollapseState): {
        collapsed: boolean;
    } | null;
    toggleCollapsed(e: React.MouseEvent<HTMLElement>): void;
    contentDom: any;
    contentRef: (ref: any) => any;
    handleEnter(elem: HTMLElement): void;
    handleEntering(elem: HTMLElement): void;
    handleEntered(elem: HTMLElement): void;
    handleExit(elem: HTMLElement): void;
    handleExiting(elem: HTMLElement): void;
    render(): JSX.Element;
}
export {};
