import React from 'react';
import { StyleProp, ViewStyle } from 'react-native';
import { AccordionProps } from 'react-native-collapsible/Accordion';
import { WithThemeStyles } from '../style';
import { AccordionStyle } from './style/index';
export interface AccordionPanelProps {
    key?: string;
    header: any;
}
export interface AccordionNativeProps<T> extends WithThemeStyles<AccordionStyle>, Partial<AccordionProps<T>> {
    style?: StyleProp<ViewStyle>;
}
export interface AccordionHeader {
    title: string;
    content: React.ReactElement<any>;
    style: StyleProp<ViewStyle>;
}
declare class Accordion<T extends AccordionHeader> extends React.Component<AccordionNativeProps<T>, any> {
    static Panel: any;
    renderHeader: (styles: AccordionStyle) => (section: T, _: number, isActive: boolean) => JSX.Element;
    renderContent: (styles: AccordionStyle) => (section: T) => JSX.Element;
    render(): JSX.Element;
}
export default Accordion;
