import { Component, ReactNode } from 'react'; import { ColumnCtx, ColumnDivision } from './column'; export interface ColumnLayoutCtx extends ColumnCtx { width: number; grainSizes?: string[]; grainsizeScale?: (d: string) => number; xScale: any; widthForDivision: (d: ColumnDivision) => number; } declare const ColumnLayoutContext: import('react').Context>; export interface ColumnLayoutProviderProps extends Partial> { grainSizes?: string[]; grainsizeScale?: (d: string) => number; width: number; xScale?: any; children?: ReactNode; } declare function ColumnLayoutProvider({ children, width, grainSizes, grainsizeScale, xScale, }: ColumnLayoutProviderProps): import('react').FunctionComponentElement>>; export interface CrossAxisLayoutProviderProps { width: number; domain: number[]; range?: number[]; children?: ReactNode; } declare class CrossAxisLayoutProvider extends Component { static contextType: import('react').Context>; context: ColumnCtx; render(): import('react').FunctionComponentElement>; } export type GrainsizeLayoutProps = { grainSizes: string[]; children?: ReactNode; width?: number; grainsizeScaleStart?: number; grainsizeScaleRange?: [number, number]; tickPositions?: number[]; }; declare function GrainsizeLayoutProvider({ width, grainSizes, grainsizeScaleStart, grainsizeScaleRange, tickPositions, children, }: GrainsizeLayoutProps): import('react').FunctionComponentElement>; export declare function useColumnLayout(): ColumnLayoutCtx; export { ColumnLayoutContext, ColumnLayoutProvider, CrossAxisLayoutProvider, GrainsizeLayoutProvider, };