message: Add measured template
diff: -import { BaseMeasuredTemplate } from '../../../../common/documents.mjs';
  +import { MeasuredTemplateData } from '../../../../common/data/data.mjs';
  declare global {
  /**
  * A MeasuredTemplate is an implementation of PlaceableObject which represents an area of the canvas grid which is
  * covered by some effect.
  - *
  - * @example
  - * ```typescript
  - * MeasuredTemplate.create<MeasuredTemplate>({
  - * t: "cone",
  - * user: game.user._id,
  - * x: 1000,
  - * y: 1000,
  - * direction: 0.45,
  - * angle: 63.13,
  - * distance: 30,
  - * borderColor: "#FF0000",
  - * fillColor: "#FF3366",
  - * texture: "tiles/fire.jpg"
  - * });
  - * ```
  - */
  - class MeasuredTemplate extends PlaceableObject<BaseMeasuredTemplate> {
  - // Draw portions of the content
  + */
  + class MeasuredTemplate extends PlaceableObject<MeasuredTemplateData> {
  controlIcon: ControlIcon | null;
  template: PIXI.Graphics | null;
  ruler: PreciseText | null;
  @@ -30,7 +13,7 @@ declare global {
  /**
  * The tiling texture used for this template, if any
  */
  - texture: PIXI.Texture;
  + texture: PIXI.Texture | null;
  /**
  * The template shape used for testing point intersection
  @@ -59,9 +42,11 @@ declare global {
  /**
  * A convenience accessor for the fill color as a numeric hex code
  */
  - get fillColor(): string;
  + get fillColor(): number;
  - /** @override */
  + /**
  + * A flag for whether the current User has full ownership over the MeasuredTemplate document.
  + */
  get owner(): boolean;
  /** @override */
  @@ -116,39 +101,21 @@ declare global {
  highlightGrid(): void;
  /** @override */
  - rotate(angle: number, snap: number): Promise<this>;
  + rotate(angle: number, snap: number): Promise<MeasuredTemplateDocument>;
  /** @override */
  - protected _canControl(user: User, event?: any): boolean;
  + protected _canControl(user: User, event?: unknown): boolean;
  /** @override */
  - protected _canConfigure(user: User, event?: any): boolean;
  + protected _canConfigure(user: User, event?: unknown): boolean;
  /** @override */
  - protected _canView(user: User, event?: any): boolean;
  + protected _canView(user: User, event?: unknown): boolean;
  /** @override */
  - protected _onUpdate(data: MeasuredTemplate.Data): void;
  + protected _onUpdate(data: MeasuredTemplateData, userId: string): void;
  /** @override */
  - protected _onDelete(): void;
  - }
  -
  - namespace MeasuredTemplate {
  - interface Data {
  - angle: number | null;
  - borderColor: string;
  - direction: number;
  - distance: number;
  - fillColor: string;
  - id: string;
  - locked: boolean;
  - t: 'circle' | 'rectangle' | 'cone' | 'ray';
  - texture: string;
  - user: string;
  - width: number | null;
  - x: number;
  - y: number;
  - }
  + protected _onDelete(options, userId): void;
  }
  }
  