import { FC, ReactElement } from 'react';
import { ChartDataTypes } from '../../data';
import { LinearAxisLine, LinearAxisLineProps } from './LinearAxisLine';
import { LinearAxisTickSeries, LinearAxisTickSeriesProps } from './LinearAxisTickSeries';

export interface LinearAxisDimensionChanged {
    height?: number;
    width?: number;
}
export interface LinearAxisProps {
    height?: number;
    width?: number;
    domain?: ChartDataTypes[];
    scaled?: boolean;
    roundDomains?: boolean;
    type?: 'value' | 'time' | 'category' | 'duration';
    position?: 'start' | 'end' | 'center';
    tickSeries?: ReactElement<LinearAxisTickSeriesProps, typeof LinearAxisTickSeries>;
    axisLine?: ReactElement<LinearAxisLineProps, typeof LinearAxisLine> | null;
    scale?: any;
    visibility?: 'visible' | 'hidden';
    orientation?: 'horizontal' | 'vertical';
    onDimensionsChange?: (event: LinearAxisDimensionChanged) => void;
}
export declare const LinearAxis: FC<Partial<LinearAxisProps>>;
export declare const LINEAR_AXIS_DEFAULT_PROPS: {
    scaled: boolean;
    roundDomains: boolean;
    axisLine: import("react/jsx-runtime").JSX.Element;
    onDimensionsChange: () => any;
};
