UNPKG

fvtt-types

Version:
53 lines (41 loc) 1.98 kB
import type { FixedInstanceType, Identity } from "#utils"; import type { CanvasGroupMixin } from "#client/canvas/groups/_module.d.mts"; declare module "#configuration" { namespace Hooks { interface CanvasGroupConfig { RenderedCanvasGroup: RenderedCanvasGroup.Implementation; } } } /** * A container group which contains the environment canvas group and the interface canvas group. */ declare class RenderedCanvasGroup< DrawOptions extends RenderedCanvasGroup.DrawOptions = RenderedCanvasGroup.DrawOptions, TearDownOptions extends RenderedCanvasGroup.TearDownOptions = RenderedCanvasGroup.TearDownOptions, > extends CanvasGroupMixin<typeof PIXI.Container, "rendered">(PIXI.Container)<DrawOptions, TearDownOptions> { // static override groupName is handled by the CanvasGroupMixin type /** * Should this group tear down its non-layer children? * @defaultValue `false` */ static override tearDownChildren: boolean; } declare namespace RenderedCanvasGroup { /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode Implementation} instead */ type Any = Internal.Any; /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode ImplementationClass} instead */ type AnyConstructor = Internal.AnyConstructor; namespace Internal { interface Any extends AnyRenderedCanvasGroup {} interface AnyConstructor extends Identity<typeof AnyRenderedCanvasGroup> {} } interface ImplementationClass extends Identity<typeof CONFIG.Canvas.groups.rendered.groupClass> {} interface Implementation extends FixedInstanceType<ImplementationClass> {} interface DrawOptions extends CanvasGroupMixin.DrawOptions {} interface TearDownOptions extends CanvasGroupMixin.TearDownOptions {} } export default RenderedCanvasGroup; declare abstract class AnyRenderedCanvasGroup extends RenderedCanvasGroup { constructor(...args: never); }