/// /** @noSelfInFile */ /** @noSelfInFile */ import { Handle } from "./handle"; import { MapPlayer } from "./player"; import { Point } from "./point"; import { Rectangle } from "./rect"; import { Unit } from "./unit"; import { Widget } from "./widget"; export declare class Group extends Handle { /** * @deprecated use `Group.create` instead. */ constructor(); static create(): Group | undefined; addGroupFast(addGroup: Group): number; addUnit(whichUnit: Unit): boolean; clear(): void; destroy(): void; enumUnitsInRange(x: number, y: number, radius: number, filter: boolexpr | (() => boolean)): void; /** * @bug Causes irregular behavior when used with large numbers */ enumUnitsInRangeCounted(x: number, y: number, radius: number, filter: boolexpr | (() => boolean), countLimit: number): void; enumUnitsInRangeOfPoint(whichPoint: Point, radius: number, filter: boolexpr | (() => boolean)): void; /** * @bug Causes irregular behavior when used with large numbers */ enumUnitsInRangeOfPointCounted(whichPoint: Point, radius: number, filter: boolexpr | (() => boolean), countLimit: number): void; enumUnitsInRect(r: Rectangle, filter: boolexpr | (() => boolean)): void; /** * @bug Causes irregular behavior when used with large numbers */ enumUnitsInRectCounted(r: Rectangle, filter: boolexpr | (() => boolean), countLimit: number): void; /** * @note In contrast to other Enum-functions this function enumarates units with locust. */ enumUnitsOfPlayer(whichPlayer: MapPlayer, filter: boolexpr | (() => boolean)): void; enumUnitsOfType(unitName: string, filter: boolexpr | (() => boolean)): void; /** * @bug Causes irregular behavior when used with large numbers */ enumUnitsOfTypeCounted(unitName: string, filter: boolexpr | (() => boolean), countLimit: number): void; enumUnitsSelected(whichPlayer: MapPlayer, filter: boolexpr | (() => boolean)): void; for(callback: () => void): void; /** * @bug May return `null` even if there are still units in the group. * This happens when a unit in the group dies and decays since the group still * holds a reference to that unit but that unit is pretty much null. * See http://wc3c.net/showthread.php?t=104464. */ get first(): Unit | undefined; get size(): number; getUnits(): Unit[]; getUnitAt(index: number): Unit | undefined; hasUnit(whichUnit: Unit): boolean; orderCoords(order: string | number, x: number, y: number): void; orderImmediate(order: string | number): void; orderPoint(order: string | number, whichPoint: Point): void; orderTarget(order: string | number, targetWidget: Widget | Unit): void; removeGroupFast(removeGroup: Group): number; removeUnit(whichUnit: Unit): boolean; static fromHandle(handle: group | undefined): Group | undefined; static getEnumUnit(): Unit | undefined; static getFilterUnit(): Unit | undefined; }