import { default as React } from 'react';
import { SimpleFrame, GrainsizeFrame, UUIDComponent } from '../frame';
import { ColumnDivision, ColumnLayoutCtx } from '../context';
declare const symbolIndex: {
    "dolomite-limestone": number;
    lime_mudstone: number;
    sandstone: number;
    siltstone: number;
    "dolomitic siltstone": number;
    shale: number;
    limestone: number;
    dolomite: number;
    conglomerate: number;
    "dolomite-mudstone": number;
    mudstone: number;
    "sandy-dolomite": number;
    quartzite: number;
};
declare const defaultResolveID: (d: any) => string | null;
interface ColumnRectProps {
    division: any;
    padWidth?: boolean;
    key?: string;
    width: number;
    className?: string;
    fill?: string;
}
declare function ColumnRect(props: ColumnRectProps): React.ReactElement<{
    className?: string;
    fill?: string;
    x: number;
    y: any;
    width: number;
    height: number;
    key: string | undefined;
}, string | React.JSXElementConstructor<any>>;
declare const expandDivisionsByKey: (divisions: ColumnDivision[], key: any) => ColumnDivision[] | null;
interface ParameterIntervalsProps {
    padWidth: boolean;
    parameter: string;
    fillForInterval(param: any, division: ColumnDivision): any;
}
declare function ParameterIntervals(props: ParameterIntervalsProps): React.ReactSVGElement | null;
declare const FaciesIntervals: (props: any) => React.FunctionComponentElement<ParameterIntervalsProps>;
declare const FaciesColumnInner: (props: any) => React.FunctionComponentElement<ParameterIntervalsProps>;
declare function CoveredOverlay({ color, patternSize, strokeWidth, }: {
    color?: string | undefined;
    patternSize?: number | undefined;
    strokeWidth?: number | undefined;
}): React.DOMElement<{}, Element>;
declare const LithologySymbolDefs: (props: any) => React.DOMElement<any, Element>;
declare class LithologyBoxes extends UUIDComponent<any> {
    static contextType: React.Context<ColumnLayoutCtx<ColumnDivision>>;
    static defaultProps: {
        resolveID: (d: any) => string | null;
        minimumHeight: number;
    };
    context: ColumnLayoutCtx<ColumnDivision>;
    constructor(props: any);
    constructLithologyDivisions(): never[];
    renderEach(d: any): React.FunctionComponentElement<ColumnRectProps>;
    render(): React.DOMElement<React.DOMAttributes<Element>, Element>;
}
declare const LithologyColumnInner: typeof LithologyBoxes;
export interface LithologyColumnProps {
    width: number;
    left?: number;
    children?: React.ReactNode;
    clipToFrame?: boolean;
    shiftY?: number;
}
export declare function LithologyColumn(props: LithologyColumnProps): React.FunctionComponentElement<import('..').ColumnLayoutProviderProps<ColumnDivision>>;
declare const SimplifiedLithologyColumn: (props: any) => React.ComponentElement<any, LithologyBoxes>;
declare const GeneralizedSectionColumn: (props: any) => React.FunctionComponentElement<import('../frame').ClipToFrameProps>;
declare const CarbonateDivisions: (props: any) => React.ComponentElement<any, LithologyBoxes>;
export * from './patterns';
export * from './column-patterns';
export { ParameterIntervals, LithologyBoxes, GeneralizedSectionColumn, defaultResolveID, FaciesColumnInner, LithologySymbolDefs, LithologyColumnInner, CarbonateDivisions, SimplifiedLithologyColumn, CoveredOverlay, SimpleFrame, GrainsizeFrame, ColumnRect, expandDivisionsByKey, symbolIndex, FaciesIntervals, };
