import { Vec3 } from '@hiberworld/code-kit';
export interface IPlaceInCircleForEachOptions {
    p: Vec3;
    r: Vec3;
    progress: number;
    index: number;
}
export interface IPlaceInCircleOptions {
    radius?: number;
    numberOfItems?: number;
    faceCenter?: Boolean;
    onEach: Function;
    degToRotate?: number;
    offset?: number;
    itemOffset?: number;
    ellipseX?: number;
    ellipseZ?: number;
}
/**
 * Distribute objects around a point.
 * @param  radius optional distance from center, default = 5
 * @param  numberOfItems, optional number of items to distribute
 * @param  faceCenter optional if the items should rotate to face the center
 * @param  fn optional function to call on each item
 * @param  degToRotate optional degrees to rotate, can be anything, ex: 180 or 720, default 360
 * @example
 * ```
  placeInCircle({
    radius: 4,
    numberOfItems: 10,
    onEach: (data: IPlaceInCircleForEachOptions) => {
      const prefab = getPrefab({
        p: data.p,
        r: data.r,
      });
      addTo(root, prefab);
    },
  });
 * ```
 */
export declare const placeInCircle: (opt: IPlaceInCircleOptions) => {
    p: Vec3;
    r: Vec3;
    progress: number;
    index: number;
}[];
//# sourceMappingURL=placeInCircle.d.ts.map