import { Currency, Price } from '@envanik/sdk';
export declare enum Bound {
    LOWER = "LOWER",
    UPPER = "UPPER"
}
/**
 * The default factory enabled fee amounts, denominated in hundredths of bips.
 */
export declare enum FeeAmount {
    LOWEST = 100,
    LOW = 500,
    MEDIUM = 3000,
    HIGH = 10000
}
export interface ChartEntry {
    activeLiquidity: number;
    price0: number;
}
interface Dimensions {
    width: number;
    height: number;
}
interface Margins {
    top: number;
    right: number;
    bottom: number;
    left: number;
}
export interface ZoomLevels {
    initialMin: number;
    initialMax: number;
    min: number;
    max: number;
}
export interface ChartProps {
    id?: string;
    data: {
        series: ChartEntry[];
        current: number;
    };
    ticksAtLimit: {
        [bound in Bound]?: boolean | undefined;
    };
    styles: {
        area: {
            selection: string;
        };
        brush: {
            handle: {
                west: string;
                east: string;
            };
        };
    };
    dimensions: Dimensions;
    margins: Margins;
    interactive?: boolean;
    brushLabels: (d: 'w' | 'e', x: number) => string;
    brushDomain: [number, number] | undefined;
    onBrushDomainChange: (domain: [number, number], mode: string | undefined) => void;
    zoomLevels: ZoomLevels;
}
export declare const FLIP_HANDLE_THRESHOLD_PX = 20;
export declare const BRUSH_EXTENT_MARGIN_PX = 2;
export declare const ZOOM_LEVELS: Record<FeeAmount, ZoomLevels>;
export declare type LiquidityChartRangeInputProps = {
    currency0: Currency | undefined;
    currency1: Currency | undefined;
    feeAmount?: FeeAmount;
    ticksAtLimit: {
        [bound in Bound]?: boolean | undefined;
    };
    price: number | undefined;
    priceLower?: Price;
    priceUpper?: Price;
    onLeftRangeInput: (typedValue: string) => void;
    onRightRangeInput: (typedValue: string) => void;
    interactive: boolean;
};
export {};
