fvtt-types
Version:
TypeScript type definitions for Foundry VTT
53 lines (41 loc) • 1.98 kB
text/typescript
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);
}