import { Except } from 'type-fest'; import { DeclarationOption, DeclarationOptionBase, FlagsDeclarationOption, MapDeclarationOption, ParameterType, ParameterTypeToOptionTypeMap, } from 'typedoc'; declare const __compileError: unique symbol; export interface TypeErr { /** * There should never be a value of this type */ readonly [__compileError] : never; error: ErrorMessageT; } export type DeclarationOptionConfig = Except; export type ExtractEnum = T[keyof T] interface TypeMap extends Omit { [ParameterType.Map]: T extends DeclarationOptionConfig> ? U & ExtractEnum : unknown; [ParameterType.Flags]: T extends DeclarationOptionConfig> ? U : unknown; } export type ParameterValueType = NonNullable extends keyof TypeMap ? TypeMap[NonNullable] : TypeErr<['Unknown type', T['type']]> ;