/**
 * Coordinates for geographic points
 */
export type Coords = {
    latitude: number;
    longitude: number;
};
/**
 * Active selection tool mode
 */
export type SelectionToolMode = 'none' | 'radius' | 'lasso';
/**
 * Radius drawing state machine phases
 */
export type RadiusState = {
    phase: 'idle';
} | {
    phase: 'placing-center';
} | {
    phase: 'drawing';
    center: Coords;
} | {
    phase: 'confirming';
    center: Coords;
    radiusMiles: number;
};
/**
 * Lasso drawing state machine phases
 */
export type LassoState = {
    phase: 'idle';
} | {
    phase: 'drawing';
    pointCount: number;
} | {
    phase: 'confirming';
    polygon: Coords[];
};
/**
 * Selection tool store state and actions
 */
export type SelectionToolStore = {
    mode: SelectionToolMode;
    radiusState: RadiusState;
    lassoState: LassoState;
    setMode: (mode: SelectionToolMode) => void;
    setRadiusState: (state: RadiusState) => void;
    setLassoState: (state: LassoState) => void;
    reset: () => void;
};
//# sourceMappingURL=types.d.ts.map