import React from 'react'; import { Dimensions, Margins } from '../utils/dimensions'; import { ResizeEvent } from './ResizeContainer'; import { LinearAxisDimensionChanged } from '../Axis'; export interface ChartProps { id?: string; width?: number; height?: number; margins?: Margins; className?: any; center?: boolean; } export interface ChartContainerProps extends ChartProps { xAxisVisible?: boolean; yAxisVisible?: boolean; children: (props: ChartContainerChildProps) => any; } export interface ChartContainerChildProps extends ChartContainerState { updateAxes: (e: any) => void; } export interface ChartContainerState extends Dimensions { id: string; chartSized?: boolean; yAxisSized?: boolean; xAxisSized?: boolean; } interface UpdateSizeProps { chartSized?: boolean; xAxisSized?: boolean; yAxisSized?: boolean; yOffset?: number; xOffset?: number; height?: number; width?: number; } export declare class ChartContainer extends React.Component { static defaultProps: Partial; constructor(props: ChartContainerProps); componentDidUpdate(nextProps: ChartContainerProps): void; onResize(event: ResizeEvent): void; updateAxes(orientation: 'horizontal' | 'vertical', event: LinearAxisDimensionChanged): void; updateSize(props: UpdateSizeProps): void; getChartSized(): boolean; render(): JSX.Element; } export {};