import { Component, ReactElement } from 'react';
import { Gridline, GridlineProps } from './Gridline';
import { LinearAxisProps } from '../Axis';
import { GridStripeProps, GridStripe } from './GridStripe';
declare type GridLineElement = ReactElement<GridlineProps, typeof Gridline>;
declare type GridStripeElement = ReactElement<GridStripeProps, typeof GridStripe>;
declare type GridElement = GridLineElement | GridStripeElement;
export interface GridlineSeriesProps {
    /**
     * D3 scale for Y Axis.
     */
    yScale: any;
    /**
     * D3 scale for X Axis.
     */
    xScale: any;
    /**
     * The linear axis component for the Y Axis of the chart.
     */
    yAxis: LinearAxisProps;
    /**
     * The linear axis component for the X Axis of the chart.
     */
    xAxis: LinearAxisProps;
    /**
     * Height of the chart.
     */
    height: number;
    /**
     * Width of the chart.
     */
    width: number;
    /**
     * Gridline that is rendered.
     */
    line: GridLineElement | null;
    /**
     * GridStripe that is rendered.
     */
    stripe: GridStripeElement | null;
}
export declare class GridlineSeries extends Component<GridlineSeriesProps> {
    static defaultProps: Partial<GridlineSeriesProps>;
    getGridlines(): {
        yAxisGrid: any;
        xAxisGrid: any;
    };
    renderSeries(yAxisGrid: any, xAxisGrid: any, element: GridElement, type: 'line' | 'stripe'): JSX.Element;
    shouldRenderY(direction: 'all' | 'x' | 'y'): boolean;
    shouldRenderX(direction: 'all' | 'x' | 'y'): boolean;
    getSkipIndex(direction: 'x' | 'y'): 0 | null;
    renderGroup(element: GridElement, grid: any, scale: any, direction: 'x' | 'y', type: 'line' | 'stripe'): any;
    render(): JSX.Element;
}
export {};
