///
import { NumberWithUnit, SizeWithUnitAndAspect, SizeWithUnit, NumberWithUnitJSON, SizeWithUnitAndAspectJSON } from './Common.js';
import { Serializable } from './private/Serializable.js';
interface LocationSelectionJSON {
type: string;
}
interface LocationSelection extends Serializable {
toJSONObject: () => any;
}
declare const PrivateNoneLocationSelection: {
type: string;
};
interface RadiusLocationSelectionJSON {
type: "radius";
radius: NumberWithUnitJSON;
}
interface RectangularLocationSelectionJSON {
type: "rectangular";
size: SizeWithUnitAndAspectJSON;
}
declare class RadiusLocationSelection implements LocationSelection, Serializable {
private readonly type;
private readonly _radius;
get radius(): NumberWithUnit;
constructor(radius: NumberWithUnit);
toJSONObject(): RadiusLocationSelectionJSON;
}
declare class RectangularLocationSelection implements LocationSelection, Serializable {
private readonly type;
private _sizeWithUnitAndAspect;
get sizeWithUnitAndAspect(): SizeWithUnitAndAspect;
static withSize(size: SizeWithUnit): RectangularLocationSelection;
static withWidthAndAspectRatio(width: NumberWithUnit, heightToWidthAspectRatio: number): RectangularLocationSelection;
static withHeightAndAspectRatio(height: NumberWithUnit, widthToHeightAspectRatio: number): RectangularLocationSelection;
toJSONObject(): RectangularLocationSelectionJSON;
}
export { type LocationSelection, type LocationSelectionJSON, PrivateNoneLocationSelection, RadiusLocationSelection, RectangularLocationSelection };