import type { CollectionHolder } from "@joookiwi/collection"; /** * The known {@link Enum} (and close relative) to it * that will be used when using {@link getLastPrototype} * * Note, that no type specificity can be used, but some errors will be thrown if an invalid type is being sent. * * @see Enum * @see EnumWithParent * @see EnumWithNullableParent * @see EnumWithGrandParent * @see EnumWithNullableGrandParent * @see EnumWithGreatGrandParent * @see EnumWithNullableGreatGrandParent */ export declare class KnownEnumConstructors { #private; /** All the known {@link Enum} (and close relative) to be used in {@link getLastPrototype} */ static get values(): CollectionHolder; /** * Verify the existence of the {@link Enum} (and close relative) in the {@link values} * * @param value The value to verify its existence * @return {boolean} The valus is present * @throws NullReferenceException The {@link value} is `null`|`undefined` * @throws InvalidInstanceException The {@link value} is not of type {@link Function} * @throws InvalidInstanceException The inheritor of the {@link value} is not {@link Enum} (by instance) or {@link Enumerable} (by structure) */ static has(value: Function): boolean; /** * Add the known {@link Enum} (and close relative) to the {@link values} * * @param value The value to add * @return {boolean} The value was added * @throws NullReferenceException The {@link value} is `null`|`undefined` * @throws InvalidInstanceException The {@link value} is not of type {@link Function} * @throws InvalidInstanceException The inheritor of the {@link value} is not {@link Enum} (by instance) or {@link Enumerable} (by structure) */ static add(value: Function): boolean; /** * Remove the known {@link Enum} (and close relative) to the {@link values} * * @param value The value to remove * @return {boolean} The value was removed * @throws NullReferenceException The {@link value} is `null`|`undefined` * @throws InvalidInstanceException The {@link value} is not of type {@link Function} * @throws InvalidInstanceException The inheritor of the {@link value} is not {@link Enum} (by instance) or {@link Enumerable} (by structure) */ static remove(value: Function): boolean; } //# sourceMappingURL=KnownEnumConstructors.d.ts.map