import "d3-transition";
import { Interval } from "luxon";
import { SeisPlotElement } from "./spelement.mjs";
import { SeismographConfig } from "./seismographconfig.mjs";
import { SeismogramDisplayData } from "./seismogram.mjs";
import { SeismogramSegment } from "./seismogramsegment.mjs";
import type { HandlebarsInput } from "./axisutil.mjs";
import type { Axis } from "d3-axis";
import type { ScaleLinear, NumberValue as d3NumberValue } from "d3-scale";
import type { Selection } from "d3-selection";
export declare const DEFAULT_TITLE = "{{#each seisDataList}}{{onlyChangesChannel ../seisDataList @index}} {{else}}No Data{{/each}}";
export declare const DEFAULT_XLABEL = "{{#each seisXData}}{{this.channelCode}} {{else}}No Data{{/each}}";
export declare const DEFAULT_YLABEL = "{{#each seisYData}}{{this.channelCode}} {{else}}No Data{{/each}}";
export declare const PARTICLE_MOTION_ELEMENT = "sp-particle-motion";
export declare const particleMotion_css = "\n\n:host {\n display: block;\n min-height: 200px;\n height: 100%;\n}\n\ndiv.wrapper {\n min-height: 100px;\n height: 100%;\n width: 100%;\n}\n\nsvg {\n height: 100%;\n width: 100%;\n min-height: 125px;\n min-width: 125px;\n z-index: 100;\n}\n\nsvg text.title {\n font-size: larger;\n font-weight: bold;\n fill: black;\n color: black;\n}\n\nsvg path.seispath {\n stroke: skyblue;\n fill: none;\n stroke-width: 1px;\n}\n";
export declare function createParticleMotionConfig(timeRange?: Interval | null, defaultSeisConfig?: SeismographConfig): SeismographConfig;
/**
* Particle motion plot.
*
* @param xSeisData x axis seismogram
* @param ySeisData y axis seismogram
* @param seismographConfig config, not all parameters are used in
* particle motion plots. Can be null for defaults.
*/
export declare class ParticleMotion extends SeisPlotElement {
plotId: number;
_xSeisData: Array;
_ySeisData: Array;
width: number;
height: number;
outerWidth: number;
outerHeight: number;
xScale: ScaleLinear;
xScaleRmean: ScaleLinear;
xAxis: Axis;
yScale: ScaleLinear;
yScaleRmean: ScaleLinear;
yAxis: Axis;
g: Selection;
static _lastID: number;
constructor(xSeisData?: Array, ySeisData?: Array, seisConfig?: SeismographConfig);
get xSeisData(): Array;
set xSeisData(xsdd: Array | SeismogramDisplayData);
get ySeisData(): Array;
set ySeisData(ysdd: Array | SeismogramDisplayData);
draw(): void;
checkResize(): boolean;
drawParticleMotion(): void;
drawParticleMotionForSegment(lineG: Selection, segA: SeismogramSegment, segB: SeismogramSegment): void;
drawAxis(): void;
rescaleAxis(): void;
calcScaleDomain(): void;
calcWidthHeight(nOuterWidth: number, nOuterHeight: number): void;
createHandlebarsInput(): HandlebarsInput;
}
//# sourceMappingURL=particlemotion.d.mts.map