/** * Determines whether the current plugin is running in a debug environment; this is determined by the command-line arguments supplied to the plugin by Stream. Specifically, the result * is `true` when either `--inspect`, `--inspect-brk` or `--inspect-port` are present as part of the processes' arguments. * @returns `true` when the plugin is running in debug mode; otherwise `false`. */ export declare function isDebugMode(): boolean; /** * Gets the plugin's unique-identifier from the current working directory. * @returns The plugin's unique-identifier. */ export declare function getPluginUUID(): string; /** * Helper type used by `StrictUnion` to extract keys of type `T`. Credit {@link https://stackoverflow.com/a/65805753/259656}. * @template T Type whose keys are being extracted. */ type UnionKeys = T extends T ? keyof T : never; /** * Defines a type that implements a constructor that accepts an array of `any` parameters; utilized for mixins. */ export type Constructor = { new (...args: any[]): T; }; /** * Constructs a union type of `number` for the given `TLength`. The union type is indexed from zero. Credit {@link https://stackoverflow.com/a/39495173} * @template TLength Length of the union. * @template TAcc Accumulated types. */ export type Enumerate = TAcc["length"] extends TLength ? TAcc[number] : Enumerate; /** * Unpacks the type; when the type is an array, the underlying the type is inferred. */ export type Unpack = T extends (infer U)[] ? U : T; /** * Reduces excess properties amongst the union type `TUnion`. Credit {@link https://stackoverflow.com/a/65805753/259656}. * @template TUnion Union type being converted to a strict type. * @template TStrict Reference type used to remove excess properties from the inferred type. */ export type StrictUnion = TStrict extends unknown ? Partial, keyof TStrict>, never>> & TStrict : never; export {};