import React, { PureComponent } from 'react';
import PropTypes from 'prop-types';
import { ListContextValue } from './list-context';
export interface ListItemProps {
    extra?: React.ReactNode;
    header?: React.ReactNode;
    main?: React.ReactNode;
    align?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch';
    className?: string;
    children?: React.ReactNode;
    style?: React.CSSProperties;
    onClick?: React.MouseEventHandler<HTMLLIElement>;
    onRightClick?: React.MouseEventHandler<HTMLLIElement>;
    onMouseLeave?: React.MouseEventHandler<HTMLLIElement>;
    onMouseEnter?: React.MouseEventHandler<HTMLLIElement>;
}
export default class ListItem extends PureComponent<ListItemProps> {
    static contextType: React.Context<ListContextValue>;
    static propTypes: {
        extra: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        header: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        main: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        align: PropTypes.Requireable<string>;
        className: PropTypes.Requireable<string>;
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        style: PropTypes.Requireable<object>;
        onClick: PropTypes.Requireable<(...args: any[]) => any>;
        onRightClick: PropTypes.Requireable<(...args: any[]) => any>;
        onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
        onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
    };
    static defaultProps: {
        align: string;
        onMouseEnter: (...args: any[]) => void;
        onMouseLeave: (...args: any[]) => void;
    };
    context: ListContextValue;
    wrapWithGrid(content: React.ReactNode): React.JSX.Element;
    render(): React.JSX.Element;
}
