import type { CursorIndexData, TemplateOverData, TimestampedFloat32Array } from './types';
export declare const arrayKeepAttribute: (source: Float32Array & {
    max?: number;
    maxIndex?: number;
    timestamp?: number;
    progress?: number;
}, target: Float32Array & {
    max?: number;
    maxIndex?: number;
    timestamp?: number;
    progress?: number;
}) => void;
export declare const clamp: (value: number, min: number, max: number) => number;
export declare const leftToIndex: (left: number, length: number) => number;
export declare const resolveCursorIndexByLeft: (left: number | undefined, outputLength: number, maxPoints: number) => CursorIndexData | undefined;
export declare const resample: ({ realData, antennaFactorData, antennaFactorSwitch, outputPoints }: {
    realData: TimestampedFloat32Array;
    antennaFactorData: Float32Array;
    antennaFactorSwitch?: boolean;
    outputPoints: number;
}) => {
    realOutputData: TimestampedFloat32Array;
    srcIndexCache: Uint32Array;
};
export declare const resampleMultiple: ({ antennaFactorData, antennaFactorSwitch, outputPoints, realData, maxData, minData, avgData, templateData, backgroundNoiseData, thresholdData, fluorescenceData, occupancyData, enablePeakStats, maxPeaks, outputRangeStart }: {
    antennaFactorData: Float32Array;
    antennaFactorSwitch?: boolean;
    outputPoints: number;
    realData: TimestampedFloat32Array;
    maxData?: Float32Array;
    minData?: Float32Array;
    avgData?: Float32Array;
    templateData?: Float32Array;
    occupancyData?: Float32Array;
    backgroundNoiseData?: Float32Array;
    thresholdData?: Float32Array;
    fluorescenceData?: Map<number, number>[];
    enablePeakStats?: boolean;
    maxPeaks?: number;
    outputRangeStart?: number;
}) => {
    realOutputData: TimestampedFloat32Array;
    maxOutputData: Float32Array;
    minOutputData: Float32Array;
    avgOutputData: Float32Array;
    templateOutputData: Float32Array;
    occupancyOutputData: Float32Array;
    backgroundNoiseOutputData: Float32Array;
    thresholdOutputData: Float32Array;
    srcIndexCache: Uint32Array;
    fluorescenceOutputData: Map<number, number>[];
};
export declare const resampleExtraData: (extraData: Record<string, Float32Array>, antennaFactorData: Float32Array, antennaFactorSwitch: boolean, srcIndexCache: Uint32Array, getOutputData: (data: Float32Array) => Float32Array) => Record<string, Float32Array>;
export declare const findExceedingDatas: ({ realData, maxData, minData, templateData, tolerance }: {
    realData: TimestampedFloat32Array;
    maxData: Float32Array;
    minData: Float32Array;
    templateData: Float32Array;
    tolerance?: number;
}) => TemplateOverData[];
export declare const findExceedingDatasIncremental: ({ realData, maxData, minData, templateData, tolerance, startIndex, endIndex, previousSegments }: {
    realData: TimestampedFloat32Array;
    maxData: Float32Array;
    minData: Float32Array;
    templateData: Float32Array;
    tolerance?: number;
    startIndex: number;
    endIndex: number;
    previousSegments?: TemplateOverData[];
}) => TemplateOverData[];
export declare function isAllValid(arr: Float32Array): boolean;
