import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
import type { Feature } from '@jbrowse/core/util';
export declare const YSCALEBAR_LABEL_OFFSET = 5;
export declare const WIGGLE_COLOR_DEFAULT = "#f0f";
export declare function getColorCallback(config: AnyConfigurationModel, opts?: {
    defaultColor?: string;
}): (_feature: Feature, score: number) => any;
export interface ScaleOpts {
    domain: number[];
    range: number[];
    scaleType: string;
    pivotValue?: number;
    inverted?: boolean;
}
export interface Source {
    baseUri?: string;
    name: string;
    source: string;
    color?: string;
    group?: string;
}
export declare function getScale({ domain, range, scaleType, pivotValue, inverted, }: ScaleOpts): import("@mui/x-charts-vendor/d3-scale").ScaleLinear<number, number, never> | import("@mui/x-charts-vendor/d3-scale").ScaleLogarithmic<number, number, never> | import("@mui/x-charts-vendor/d3-scale").ScaleQuantize<number, never>;
export declare function getOrigin(scaleType: string): 0 | 1;
export declare function getNiceDomain({ scaleType, domain, bounds, }: {
    scaleType: string;
    domain: readonly [number, number];
    bounds: readonly [number | undefined, number | undefined];
}): [number, number];
export declare function toP(s?: number): number;
export declare function serializeWiggleFeature(f: {
    get: (key: string) => unknown;
    id: () => string;
}): {
    uniqueId: string;
    start: unknown;
    end: unknown;
    score: unknown;
    source: unknown;
    refName: unknown;
    maxScore: unknown;
    minScore: unknown;
    summary: unknown;
};
export declare function round(value: number): number;
export declare const WIGGLE_FUDGE_FACTOR = 0.3;
export declare const WIGGLE_CLIP_HEIGHT = 2;
export interface ScaleValues {
    niceMin: number;
    niceMax: number;
    height: number;
    linearRatio: number;
    log2: number;
    logMin: number;
    logRatio: number;
    isLog: boolean;
}
export declare function getScaleValues(scaleOpts: ScaleOpts, height: number): ScaleValues;
export declare function fillRectCtx(x: number, y: number, width: number, height: number, ctx: CanvasRenderingContext2D, color?: string): void;
