import * as Rolldown from "@voidzero-dev/vite-plus-core/rolldown";
import { BuildOptions, ChecksOptions, ExternalOption, InputOptions, InternalModuleFormat, MinifyOptions, ModuleFormat, ModuleTypes, OutputAsset, OutputChunk, OutputOptions, TreeshakingOptions } from "@voidzero-dev/vite-plus-core/rolldown";
import { IsolatedDeclarationsOptions } from "@voidzero-dev/vite-plus-core/rolldown/experimental";

//#region ../../node_modules/.pnpm/hookable@6.0.1/node_modules/hookable/dist/index.d.mts
//#region src/types.d.ts
type HookCallback = (...arguments_: any) => Promise<void> | void;
type HookKeys<T> = keyof T & string;
type DeprecatedHook<T> = {
  message?: string;
  to: HookKeys<T>;
};
type ValueOf<C> = C extends Record<any, any> ? C[keyof C] : never;
type Strings<T> = Exclude<keyof T, number | symbol>;
type KnownKeys<T> = keyof { [K in keyof T as string extends K ? never : number extends K ? never : K]: never };
type StripGeneric<T> = Pick<T, KnownKeys<T> extends keyof T ? KnownKeys<T> : never>;
type OnlyGeneric<T> = Omit<T, KnownKeys<T> extends keyof T ? KnownKeys<T> : never>;
type Namespaces<T> = ValueOf<{ [key in Strings<T>]: key extends `${infer Namespace}:${string}` ? Namespace : never }>;
type BareHooks<T> = ValueOf<{ [key in Strings<T>]: key extends `${string}:${string}` ? never : key }>;
type HooksInNamespace<T, Namespace extends string> = ValueOf<{ [key in Strings<T>]: key extends `${Namespace}:${infer HookName}` ? HookName : never }>;
type WithoutNamespace<T, Namespace extends string> = { [key in HooksInNamespace<T, Namespace>]: `${Namespace}:${key}` extends keyof T ? T[`${Namespace}:${key}`] : never };
type NestedHooks<T> = (Partial<StripGeneric<T>> | Partial<OnlyGeneric<T>>) & Partial<{ [key in Namespaces<StripGeneric<T>>]: NestedHooks<WithoutNamespace<T, key>> }> & Partial<{ [key in BareHooks<StripGeneric<T>>]: T[key] }>; //#endregion
//#region src/hookable.d.ts
type InferCallback<HT, HN extends keyof HT> = HT[HN] extends HookCallback ? HT[HN] : never;
type InferSpyEvent<HT extends Record<string, any>> = { [key in keyof HT]: {
  name: key;
  args: Parameters<HT[key]>;
  context: Record<string, any>;
} }[keyof HT];
declare class Hookable<HooksT extends Record<string, any> = Record<string, HookCallback>, HookNameT extends HookKeys<HooksT> = HookKeys<HooksT>> {
  private _hooks;
  private _before?;
  private _after?;
  private _deprecatedHooks;
  private _deprecatedMessages?;
  constructor();
  hook<NameT extends HookNameT>(name: NameT, function_: InferCallback<HooksT, NameT>, options?: {
    allowDeprecated?: boolean;
  }): () => void;
  hookOnce<NameT extends HookNameT>(name: NameT, function_: InferCallback<HooksT, NameT>): () => void;
  removeHook<NameT extends HookNameT>(name: NameT, function_: InferCallback<HooksT, NameT>): void;
  deprecateHook<NameT extends HookNameT>(name: NameT, deprecated: HookKeys<HooksT> | DeprecatedHook<HooksT>): void;
  deprecateHooks(deprecatedHooks: Partial<Record<HookNameT, DeprecatedHook<HooksT>>>): void;
  addHooks(configHooks: NestedHooks<HooksT>): () => void;
  removeHooks(configHooks: NestedHooks<HooksT>): void;
  removeAllHooks(): void;
  callHook<NameT extends HookNameT>(name: NameT, ...args: Parameters<InferCallback<HooksT, NameT>>): Promise<any> | void;
  callHookParallel<NameT extends HookNameT>(name: NameT, ...args: Parameters<InferCallback<HooksT, NameT>>): Promise<any[]> | void;
  callHookWith<NameT extends HookNameT, CallFunction extends (hooks: HookCallback[], args: Parameters<InferCallback<HooksT, NameT>>, name: NameT) => any>(caller: CallFunction, name: NameT, args: Parameters<InferCallback<HooksT, NameT>>): ReturnType<CallFunction>;
  beforeEach(function_: (event: InferSpyEvent<HooksT>) => void): () => void;
  afterEach(function_: (event: InferSpyEvent<HooksT>) => void): () => void;
}
type CreateTask = (name?: string) => {
  run: (function_: () => Promise<any> | any) => Promise<any> | any;
};
declare global {
  interface Console {
    createTask?: CreateTask;
  }
}
/** @deprecated */
//#endregion
//#region ../../node_modules/.pnpm/get-tsconfig@4.13.1/node_modules/get-tsconfig/dist/index.d.cts
declare namespace TsConfigJson {
  namespace CompilerOptions {
    type JSX = 'preserve' | 'react' | 'react-jsx' | 'react-jsxdev' | 'react-native';
    type Module = 'CommonJS' | 'AMD' | 'System' | 'UMD' | 'ES6' | 'ES2015' | 'ES2020' | 'ES2022' | 'ESNext' | 'Node16' | 'Node18' | 'Node20' | 'NodeNext' | 'Preserve' | 'None' // Lowercase alternatives
    | 'commonjs' | 'amd' | 'system' | 'umd' | 'es6' | 'es2015' | 'es2020' | 'es2022' | 'esnext' | 'node16' | 'node18' | 'node20' | 'nodenext' | 'preserve' | 'none';
    type NewLine = 'CRLF' | 'LF' // Lowercase alternatives
    | 'crlf' | 'lf';
    type Target = 'ES3' | 'ES5' | 'ES6' | 'ES2015' | 'ES2016' | 'ES2017' | 'ES2018' | 'ES2019' | 'ES2020' | 'ES2021' | 'ES2022' | 'ES2023' | 'ES2024' | 'ESNext' // Lowercase alternatives
    | 'es3' | 'es5' | 'es6' | 'es2015' | 'es2016' | 'es2017' | 'es2018' | 'es2019' | 'es2020' | 'es2021' | 'es2022' | 'es2023' | 'es2024' | 'esnext';
    type Lib = 'ES5' | 'ES6' | 'ES7' | 'ES2015' | 'ES2015.Collection' | 'ES2015.Core' | 'ES2015.Generator' | 'ES2015.Iterable' | 'ES2015.Promise' | 'ES2015.Proxy' | 'ES2015.Reflect' | 'ES2015.Symbol.WellKnown' | 'ES2015.Symbol' | 'ES2016' | 'ES2016.Array.Include' | 'ES2017' | 'ES2017.ArrayBuffer' | 'ES2017.Date' | 'ES2017.Intl' | 'ES2017.Object' | 'ES2017.SharedMemory' | 'ES2017.String' | 'ES2017.TypedArrays' | 'ES2018' | 'ES2018.AsyncGenerator' | 'ES2018.AsyncIterable' | 'ES2018.Intl' | 'ES2018.Promise' | 'ES2018.Regexp' | 'ES2019' | 'ES2019.Array' | 'ES2019.Intl' | 'ES2019.Object' | 'ES2019.String' | 'ES2019.Symbol' | 'ES2020' | 'ES2020.BigInt' | 'ES2020.Date' | 'ES2020.Intl' | 'ES2020.Number' | 'ES2020.Promise' | 'ES2020.SharedMemory' | 'ES2020.String' | 'ES2020.Symbol.WellKnown' | 'ES2021' | 'ES2021.Intl' | 'ES2021.Promise' | 'ES2021.String' | 'ES2021.WeakRef' | 'ES2022' | 'ES2022.Array' | 'ES2022.Error' | 'ES2022.Intl' | 'ES2022.Object' | 'ES2022.RegExp' | 'ES2022.SharedMemory' | 'ES2022.String' | 'ES2023' | 'ES2023.Array' | 'ES2023.Collection' | 'ES2023.Intl' | 'ES2024' | 'ES2024.ArrayBuffer' | 'ES2024.Collection' | 'ES2024.Object' | 'ES2024.Promise' | 'ES2024.Regexp' | 'ES2024.SharedMemory' | 'ES2024.String' | 'ESNext' | 'ESNext.Array' | 'ESNext.AsyncIterable' | 'ESNext.BigInt' | 'ESNext.Collection' | 'ESNext.Decorators' | 'ESNext.Disposable' | 'ESNext.Error' | 'ESNext.Intl' | 'ESNext.Iterator' | 'ESNext.Object' | 'ESNext.Promise' | 'ESNext.Regexp' | 'ESNext.String' | 'ESNext.Symbol' | 'ESNext.WeakRef' | 'DOM' | 'DOM.AsyncIterable' | 'DOM.Iterable' | 'Decorators' | 'Decorators.Legacy' | 'ScriptHost' | 'WebWorker' | 'WebWorker.AsyncIterable' | 'WebWorker.ImportScripts' | 'WebWorker.Iterable' // Lowercase alternatives
    | 'es5' | 'es6' | 'es7' | 'es2015' | 'es2015.collection' | 'es2015.core' | 'es2015.generator' | 'es2015.iterable' | 'es2015.promise' | 'es2015.proxy' | 'es2015.reflect' | 'es2015.symbol.wellknown' | 'es2015.symbol' | 'es2016' | 'es2016.array.include' | 'es2017' | 'es2017.arraybuffer' | 'es2017.date' | 'es2017.intl' | 'es2017.object' | 'es2017.sharedmemory' | 'es2017.string' | 'es2017.typedarrays' | 'es2018' | 'es2018.asyncgenerator' | 'es2018.asynciterable' | 'es2018.intl' | 'es2018.promise' | 'es2018.regexp' | 'es2019' | 'es2019.array' | 'es2019.intl' | 'es2019.object' | 'es2019.string' | 'es2019.symbol' | 'es2020' | 'es2020.bigint' | 'es2020.date' | 'es2020.intl' | 'es2020.number' | 'es2020.promise' | 'es2020.sharedmemory' | 'es2020.string' | 'es2020.symbol.wellknown' | 'es2021' | 'es2021.intl' | 'es2021.promise' | 'es2021.string' | 'es2021.weakref' | 'es2022' | 'es2022.array' | 'es2022.error' | 'es2022.intl' | 'es2022.object' | 'es2022.regexp' | 'es2022.sharedmemory' | 'es2022.string' | 'es2023' | 'es2023.array' | 'es2023.collection' | 'es2023.intl' | 'es2024' | 'es2024.arraybuffer' | 'es2024.collection' | 'es2024.object' | 'es2024.promise' | 'es2024.regexp' | 'es2024.sharedmemory' | 'es2024.string' | 'esnext' | 'esnext.array' | 'esnext.asynciterable' | 'esnext.bigint' | 'esnext.collection' | 'esnext.decorators' | 'esnext.disposable' | 'esnext.error' | 'esnext.intl' | 'esnext.iterator' | 'esnext.object' | 'esnext.promise' | 'esnext.regexp' | 'esnext.string' | 'esnext.symbol' | 'esnext.weakref' | 'dom' | 'dom.asynciterable' | 'dom.iterable' | 'decorators' | 'decorators.legacy' | 'scripthost' | 'webworker' | 'webworker.asynciterable' | 'webworker.importscripts' | 'webworker.iterable';
    type Plugin = {
      /**
      Plugin name.
      */
      name: string;
    };
    type ImportsNotUsedAsValues = 'remove' | 'preserve' | 'error';
    type FallbackPolling = 'fixedPollingInterval' | 'priorityPollingInterval' | 'dynamicPriorityPolling' | 'fixedInterval' | 'priorityInterval' | 'dynamicPriority' | 'fixedChunkSize';
    type WatchDirectory = 'useFsEvents' | 'fixedPollingInterval' | 'dynamicPriorityPolling' | 'fixedChunkSizePolling';
    type WatchFile = 'fixedPollingInterval' | 'priorityPollingInterval' | 'dynamicPriorityPolling' | 'useFsEvents' | 'useFsEventsOnParentDirectory' | 'fixedChunkSizePolling';
    type ModuleResolution = 'classic' | 'node' | 'node10' | 'node16' | 'nodenext' | 'bundler' // Pascal-cased alternatives
    | 'Classic' | 'Node' | 'Node10' | 'Node16' | 'NodeNext' | 'Bundler';
    type ModuleDetection = 'auto' | 'legacy' | 'force';
    type IgnoreDeprecations = '5.0';
  }
  type CompilerOptions = {
    /**
    The character set of the input files.
    	@default 'utf8'
    @deprecated This option will be removed in TypeScript 5.5.
    */
    charset?: string;
    /**
    Enables building for project references.
    	@default true
    */
    composite?: boolean;
    /**
    Generates corresponding d.ts files.
    	@default false
    */
    declaration?: boolean;
    /**
    Specify output directory for generated declaration files.
    */
    declarationDir?: string;
    /**
    Show diagnostic information.
    	@default false
    */
    diagnostics?: boolean;
    /**
    Reduce the number of projects loaded automatically by TypeScript.
    	@default false
    */
    disableReferencedProjectLoad?: boolean;
    /**
    Enforces using indexed accessors for keys declared using an indexed type.
    	@default false
    */
    noPropertyAccessFromIndexSignature?: boolean;
    /**
    Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files.
    	@default false
    */
    emitBOM?: boolean;
    /**
    Only emit `.d.ts` declaration files.
    	@default false
    */
    emitDeclarationOnly?: boolean;
    /**
    Differentiate between undefined and not present when type checking.
    	@default false
    */
    exactOptionalPropertyTypes?: boolean;
    /**
    Enable incremental compilation.
    	@default `composite`
    */
    incremental?: boolean;
    /**
    Specify file to store incremental compilation information.
    	@default '.tsbuildinfo'
    */
    tsBuildInfoFile?: string;
    /**
    Emit a single file with source maps instead of having a separate file.
    	@default false
    */
    inlineSourceMap?: boolean;
    /**
    Emit the source alongside the sourcemaps within a single file.
    	Requires `--inlineSourceMap` to be set.
    	@default false
    */
    inlineSources?: boolean;
    /**
    Specify what JSX code is generated.
    	@default 'preserve'
    */
    jsx?: CompilerOptions.JSX;
    /**
    Specifies the object invoked for `createElement` and `__spread` when targeting `'react'` JSX emit.
    	@default 'React'
    */
    reactNamespace?: string;
    /**
    Specify the JSX factory function to use when targeting React JSX emit, e.g. `React.createElement` or `h`.
    	@default 'React.createElement'
    */
    jsxFactory?: string;
    /**
    Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'.
    	@default 'React.Fragment'
    */
    jsxFragmentFactory?: string;
    /**
    Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.
    	@default 'react'
    */
    jsxImportSource?: string;
    /**
    Print names of files part of the compilation.
    	@default false
    */
    listFiles?: boolean;
    /**
    Specifies the location where debugger should locate map files instead of generated locations.
    */
    mapRoot?: string;
    /**
    Specify module code generation: 'None', 'CommonJS', 'AMD', 'System', 'UMD', 'ES6', 'ES2015' or 'ESNext'. Only 'AMD' and 'System' can be used in conjunction with `--outFile`. 'ES6' and 'ES2015' values may be used when targeting 'ES5' or lower.
    	@default ['ES3', 'ES5'].includes(target) ? 'CommonJS' : 'ES6'
    */
    module?: CompilerOptions.Module;
    /**
    Specifies module resolution strategy: 'node' (Node) or 'classic' (TypeScript pre 1.6).
    	@default ['AMD', 'System', 'ES6'].includes(module) ? 'classic' : 'node'
    */
    moduleResolution?: CompilerOptions.ModuleResolution;
    /**
    Specifies the end of line sequence to be used when emitting files: 'crlf' (Windows) or 'lf' (Unix).
    	@default 'LF'
    */
    newLine?: CompilerOptions.NewLine;
    /**
    Disable full type checking (only critical parse and emit errors will be reported).
    	@default false
    */
    noCheck?: boolean;
    /**
    Do not emit output.
    	@default false
    */
    noEmit?: boolean;
    /**
    Do not generate custom helper functions like `__extends` in compiled output.
    	@default false
    */
    noEmitHelpers?: boolean;
    /**
    Do not emit outputs if any type checking errors were reported.
    	@default false
    */
    noEmitOnError?: boolean;
    /**
    Warn on expressions and declarations with an implied 'any' type.
    	@default false
    */
    noImplicitAny?: boolean;
    /**
    Raise error on 'this' expressions with an implied any type.
    	@default false
    */
    noImplicitThis?: boolean;
    /**
    Report errors on unused locals.
    	@default false
    */
    noUnusedLocals?: boolean;
    /**
    Report errors on unused parameters.
    	@default false
    */
    noUnusedParameters?: boolean;
    /**
    Do not include the default library file (lib.d.ts).
    	@default false
    */
    noLib?: boolean;
    /**
    Do not add triple-slash references or module import targets to the list of compiled files.
    	@default false
    */
    noResolve?: boolean;
    /**
    Disable strict checking of generic signatures in function types.
    	@default false
    @deprecated This option will be removed in TypeScript 5.5.
    */
    noStrictGenericChecks?: boolean;
    /**
    @deprecated use `skipLibCheck` instead.
    */
    skipDefaultLibCheck?: boolean;
    /**
    Skip type checking of declaration files.
    	@default false
    */
    skipLibCheck?: boolean;
    /**
    Concatenate and emit output to single file.
    */
    outFile?: string;
    /**
    Redirect output structure to the directory.
    */
    outDir?: string;
    /**
    Do not erase const enum declarations in generated code.
    	@default false
    */
    preserveConstEnums?: boolean;
    /**
    Do not resolve symlinks to their real path; treat a symlinked file like a real one.
    	@default false
    */
    preserveSymlinks?: boolean;
    /**
    Keep outdated console output in watch mode instead of clearing the screen.
    	@default false
    */
    preserveWatchOutput?: boolean;
    /**
    Stylize errors and messages using color and context (experimental).
    	@default true // Unless piping to another program or redirecting output to a file.
    */
    pretty?: boolean;
    /**
    Do not emit comments to output.
    	@default false
    */
    removeComments?: boolean;
    /**
    Rewrite '.ts', '.tsx', '.mts', and '.cts' file extensions in relative import paths to their JavaScript equivalent in output files.
    	@default false
    */
    rewriteRelativeImportExtensions?: boolean;
    /**
    Specifies the root directory of input files.
    	Use to control the output directory structure with `--outDir`.
    */
    rootDir?: string;
    /**
    Unconditionally emit imports for unresolved files.
    	@default false
    */
    isolatedModules?: boolean;
    /**
    Require sufficient annotation on exports so other tools can trivially generate declaration files.
    	@default false
    */
    isolatedDeclarations?: boolean;
    /**
    Generates corresponding '.map' file.
    	@default false
    */
    sourceMap?: boolean;
    /**
    Specifies the location where debugger should locate TypeScript files instead of source locations.
    */
    sourceRoot?: string;
    /**
    Suppress excess property checks for object literals.
    	@default false
    @deprecated This option will be removed in TypeScript 5.5.
    */
    suppressExcessPropertyErrors?: boolean;
    /**
    Suppress noImplicitAny errors for indexing objects lacking index signatures.
    	@default false
    @deprecated This option will be removed in TypeScript 5.5.
    */
    suppressImplicitAnyIndexErrors?: boolean;
    /**
    Do not emit declarations for code that has an `@internal` annotation.
    */
    stripInternal?: boolean;
    /**
    Specify ECMAScript target version.
    	@default 'es3'
    */
    target?: CompilerOptions.Target;
    /**
    Default catch clause variables as `unknown` instead of `any`.
    	@default false
    */
    useUnknownInCatchVariables?: boolean;
    /**
    Watch input files.
    	@default false
    @deprecated Use watchOptions instead.
    */
    watch?: boolean;
    /**
    Specify the polling strategy to use when the system runs out of or doesn't support native file watchers.
    	@deprecated Use watchOptions.fallbackPolling instead.
    */
    fallbackPolling?: CompilerOptions.FallbackPolling;
    /**
    Specify the strategy for watching directories under systems that lack recursive file-watching functionality.
    	@default 'useFsEvents'
    @deprecated Use watchOptions.watchDirectory instead.
    */
    watchDirectory?: CompilerOptions.WatchDirectory;
    /**
    Specify the strategy for watching individual files.
    	@default 'useFsEvents'
    @deprecated Use watchOptions.watchFile instead.
    */
    watchFile?: CompilerOptions.WatchFile;
    /**
    Enables experimental support for ES7 decorators.
    	@default false
    */
    experimentalDecorators?: boolean;
    /**
    Emit design-type metadata for decorated declarations in source.
    	@default false
    */
    emitDecoratorMetadata?: boolean;
    /**
    Do not report errors on unused labels.
    	@default false
    */
    allowUnusedLabels?: boolean;
    /**
    Report error when not all code paths in function return a value.
    	@default false
    */
    noImplicitReturns?: boolean;
    /**
    Add `undefined` to a type when accessed using an index.
    	@default false
    */
    noUncheckedIndexedAccess?: boolean;
    /**
    Report error if failed to find a source file for a side effect import.
    	@default false
    */
    noUncheckedSideEffectImports?: boolean;
    /**
    Report errors for fallthrough cases in switch statement.
    	@default false
    */
    noFallthroughCasesInSwitch?: boolean;
    /**
    Ensure overriding members in derived classes are marked with an override modifier.
    	@default false
    */
    noImplicitOverride?: boolean;
    /**
    Do not report errors on unreachable code.
    	@default false
    */
    allowUnreachableCode?: boolean;
    /**
    Disallow inconsistently-cased references to the same file.
    	@default true
    */
    forceConsistentCasingInFileNames?: boolean;
    /**
    Emit a v8 CPU profile of the compiler run for debugging.
    	@default 'profile.cpuprofile'
    */
    generateCpuProfile?: string;
    /**
    Generates an event trace and a list of types.
    */
    generateTrace?: boolean;
    /**
    Base directory to resolve non-relative module names.
    */
    baseUrl?: string;
    /**
    Specify path mapping to be computed relative to baseUrl option.
    */
    paths?: Record<string, string[]>;
    /**
    List of TypeScript language server plugins to load.
    */
    plugins?: CompilerOptions.Plugin[];
    /**
    Specify list of root directories to be used when resolving modules.
    */
    rootDirs?: string[];
    /**
    Specify list of directories for type definition files to be included.
    */
    typeRoots?: string[];
    /**
    Type declaration files to be included in compilation.
    */
    types?: string[];
    /**
    Enable tracing of the name resolution process.
    	@default false
    */
    traceResolution?: boolean;
    /**
    Allow javascript files to be compiled.
    	@default false
    */
    allowJs?: boolean;
    /**
    Do not truncate error messages.
    	@default false
    */
    noErrorTruncation?: boolean;
    /**
    Allow default imports from modules with no default export. This does not affect code emit, just typechecking.
    	@default module === 'system' || esModuleInterop
    */
    allowSyntheticDefaultImports?: boolean;
    /**
    Do not emit `'use strict'` directives in module output.
    	@default false
    @deprecated This option will be removed in TypeScript 5.5.
    */
    noImplicitUseStrict?: boolean;
    /**
    Enable to list all emitted files.
    	@default false
    */
    listEmittedFiles?: boolean;
    /**
    Disable size limit for JavaScript project.
    	@default false
    */
    disableSizeLimit?: boolean;
    /**
    List of library files to be included in the compilation.
    */
    lib?: CompilerOptions.Lib[];
    /**
    Enable strict null checks.
    	@default false
    */
    strictNullChecks?: boolean;
    /**
    The maximum dependency depth to search under `node_modules` and load JavaScript files. Only applicable with `--allowJs`.
    	@default 0
    */
    maxNodeModuleJsDepth?: number;
    /**
    Import emit helpers (e.g. `__extends`, `__rest`, etc..) from tslib.
    	@default false
    */
    importHelpers?: boolean;
    /**
    Specify emit/checking behavior for imports that are only used for types.
    	@default 'remove'
    @deprecated Use `verbatimModuleSyntax` instead.
    */
    importsNotUsedAsValues?: CompilerOptions.ImportsNotUsedAsValues;
    /**
    Parse in strict mode and emit `'use strict'` for each source file.
    	@default false
    */
    alwaysStrict?: boolean;
    /**
    Enable all strict type checking options.
    	@default false
    */
    strict?: boolean;
    /**
    Enable stricter checking of of the `bind`, `call`, and `apply` methods on functions.
    	@default false
    */
    strictBindCallApply?: boolean;
    /**
    Provide full support for iterables in `for-of`, spread, and destructuring when targeting `ES5` or `ES3`.
    	@default false
    */
    downlevelIteration?: boolean;
    /**
    Report errors in `.js` files.
    	@default false
    */
    checkJs?: boolean;
    /**
    Built-in iterators are instantiated with a `TReturn` type of undefined instead of `any`.
    	@default false
    */
    strictBuiltinIteratorReturn?: boolean;
    /**
    Disable bivariant parameter checking for function types.
    	@default false
    */
    strictFunctionTypes?: boolean;
    /**
    Ensure non-undefined class properties are initialized in the constructor.
    	@default false
    */
    strictPropertyInitialization?: boolean;
    /**
    Emit `__importStar` and `__importDefault` helpers for runtime Babel ecosystem compatibility and enable `--allowSyntheticDefaultImports` for typesystem compatibility.
    	@default false
    */
    esModuleInterop?: boolean;
    /**
    Allow accessing UMD globals from modules.
    	@default false
    */
    allowUmdGlobalAccess?: boolean;
    /**
    Resolve `keyof` to string valued property names only (no numbers or symbols).
    	@default false
    @deprecated This option will be removed in TypeScript 5.5.
    */
    keyofStringsOnly?: boolean;
    /**
    Emit ECMAScript standard class fields.
    	@default false
    */
    useDefineForClassFields?: boolean;
    /**
    Generates a sourcemap for each corresponding `.d.ts` file.
    	@default false
    */
    declarationMap?: boolean;
    /**
    Include modules imported with `.json` extension.
    	@default false
    */
    resolveJsonModule?: boolean;
    /**
    Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it.
    	@default false
    */
    assumeChangesOnlyAffectDirectDependencies?: boolean;
    /**
    Output more detailed compiler performance information after building.
    	@default false
    */
    extendedDiagnostics?: boolean;
    /**
    Print names of files that are part of the compilation and then stop processing.
    	@default false
    */
    listFilesOnly?: boolean;
    /**
    Disable preferring source files instead of declaration files when referencing composite projects.
    	@default true if composite, false otherwise
    */
    disableSourceOfProjectReferenceRedirect?: boolean;
    /**
    Opt a project out of multi-project reference checking when editing.
    	@default false
    */
    disableSolutionSearching?: boolean;
    /**
    Print names of files which TypeScript sees as a part of your project and the reason they are part of the compilation.
    	@default false
    */
    explainFiles?: boolean;
    /**
    Preserve unused imported values in the JavaScript output that would otherwise be removed.
    	@default true
    @deprecated Use `verbatimModuleSyntax` instead.
    */
    preserveValueImports?: boolean;
    /**
    List of file name suffixes to search when resolving a module.
    */
    moduleSuffixes?: string[];
    /**
    Control what method is used to detect module-format JS files.
    	@default 'auto'
    */
    moduleDetection?: CompilerOptions.ModuleDetection;
    /**
    Allows TypeScript files to import each other with a TypeScript-specific extension like .ts, .mts, or .tsx.
    	@default false
    */
    allowImportingTsExtensions?: boolean;
    /**
    Forces TypeScript to consult the exports field of package.json files if it ever reads from a package in node_modules.
    	@default false
    */
    resolvePackageJsonExports?: boolean;
    /**
    Forces TypeScript to consult the imports field of package.json files when performing a lookup that starts with # from a file whose ancestor directory contains a package.json.
    	@default false
    */
    resolvePackageJsonImports?: boolean;
    /**
    Suppress errors for file formats that TypeScript does not understand.
    	@default false
    */
    allowArbitraryExtensions?: boolean;
    /**
    List of additional conditions that should succeed when TypeScript resolves from package.json.
    */
    customConditions?: string[];
    /**
    Anything that uses the type modifier is dropped entirely.
    	@default false
    */
    verbatimModuleSyntax?: boolean;
    /**
    Suppress deprecation warnings
    */
    ignoreDeprecations?: CompilerOptions.IgnoreDeprecations;
    /**
    Do not allow runtime constructs that are not part of ECMAScript.
    	@default false
    */
    erasableSyntaxOnly?: boolean;
    /**
    Enable lib replacement.
    	@default true
    */
    libReplacement?: boolean;
  };
  namespace WatchOptions {
    type WatchFileKind = 'FixedPollingInterval' | 'PriorityPollingInterval' | 'DynamicPriorityPolling' | 'FixedChunkSizePolling' | 'UseFsEvents' | 'UseFsEventsOnParentDirectory';
    type WatchDirectoryKind = 'UseFsEvents' | 'FixedPollingInterval' | 'DynamicPriorityPolling' | 'FixedChunkSizePolling';
    type PollingWatchKind = 'FixedInterval' | 'PriorityInterval' | 'DynamicPriority' | 'FixedChunkSize';
  }
  type WatchOptions = {
    /**
    Specify the strategy for watching individual files.
    	@default 'UseFsEvents'
    */
    watchFile?: WatchOptions.WatchFileKind | Lowercase<WatchOptions.WatchFileKind>;
    /**
    Specify the strategy for watching directories under systems that lack recursive file-watching functionality.
    	@default 'UseFsEvents'
    */
    watchDirectory?: WatchOptions.WatchDirectoryKind | Lowercase<WatchOptions.WatchDirectoryKind>;
    /**
    Specify the polling strategy to use when the system runs out of or doesn't support native file watchers.
    */
    fallbackPolling?: WatchOptions.PollingWatchKind | Lowercase<WatchOptions.PollingWatchKind>;
    /**
    Enable synchronous updates on directory watchers for platforms that don't support recursive watching natively.
    */
    synchronousWatchDirectory?: boolean;
    /**
    Specifies a list of directories to exclude from watch.
    */
    excludeDirectories?: string[];
    /**
    Specifies a list of files to exclude from watch.
    */
    excludeFiles?: string[];
  };
  /**
  Auto type (.d.ts) acquisition options for this project.
  */
  type TypeAcquisition = {
    /**
    Enable auto type acquisition.
    */
    enable?: boolean;
    /**
    Specifies a list of type declarations to be included in auto type acquisition. For example, `['jquery', 'lodash']`.
    */
    include?: string[];
    /**
    Specifies a list of type declarations to be excluded from auto type acquisition. For example, `['jquery', 'lodash']`.
    */
    exclude?: string[];
    /**
    Disable infering what types should be added based on filenames in a project.
    */
    disableFilenameBasedTypeAcquisition?: boolean;
  };
  type References = {
    /**
    A normalized path on disk.
    */
    path: string;
    /**
    The path as the user originally wrote it.
    */
    originalPath?: string;
    /**
    True if the output of this reference should be prepended to the output of this project.
    	Only valid for `--outFile` compilations.
    @deprecated This option will be removed in TypeScript 5.5.
    */
    prepend?: boolean;
    /**
    True if it is intended that this reference form a circularity.
    */
    circular?: boolean;
  };
}
/**
Type for [TypeScript's `tsconfig.json` file](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) (TypeScript 3.7).

@category File
*/
type TsConfigJson = {
  /**
  Instructs the TypeScript compiler how to compile `.ts` files.
  */
  compilerOptions?: TsConfigJson.CompilerOptions;
  /**
  Instructs the TypeScript compiler how to watch files.
  */
  watchOptions?: TsConfigJson.WatchOptions;
  /**
  Auto type (.d.ts) acquisition options for this project.
  */
  typeAcquisition?: TsConfigJson.TypeAcquisition;
  /**
  Enable Compile-on-Save for this project.
  */
  compileOnSave?: boolean;
  /**
  Path to base configuration file to inherit from.
  */
  extends?: string | string[];
  /**
  If no `files` or `include` property is present in a `tsconfig.json`, the compiler defaults to including all files in the containing directory and subdirectories except those specified by `exclude`. When a `files` property is specified, only those files and those specified by `include` are included.
  */
  files?: string[];
  /**
  Specifies a list of files to be excluded from compilation. The `exclude` property only affects the files included via the `include` property and not the `files` property.
  	Glob patterns require TypeScript version 2.0 or later.
  */
  exclude?: string[];
  /**
  Specifies a list of glob patterns that match files to be included in compilation.
  	If no `files` or `include` property is present in a `tsconfig.json`, the compiler defaults to including all files in the containing directory and subdirectories except those specified by `exclude`.
  */
  include?: string[];
  /**
  Referenced projects.
  */
  references?: TsConfigJson.References[];
};
//#endregion
//#region ../../node_modules/.pnpm/rolldown-plugin-dts@0.22.1_@typescript+native-preview@7.0.0-dev.20260122.2_oxc-resolver_d2e4a246ecba2d40b4415d1b79df8dc9/node_modules/rolldown-plugin-dts/dist/index.d.mts
//#region src/options.d.ts
interface GeneralOptions {
  /**
  * The directory in which the plugin will search for the `tsconfig.json` file.
  */
  cwd?: string;
  /**
  * Set to `true` if your entry files are `.d.ts` files instead of `.ts` files.
  *
  * When enabled, the plugin will skip generating a `.d.ts` file for the entry point.
  */
  dtsInput?: boolean;
  /**
  * If `true`, the plugin will emit only `.d.ts` files and remove all other output chunks.
  *
  * This is especially useful when generating `.d.ts` files for the CommonJS format as part of a separate build step.
  */
  emitDtsOnly?: boolean;
  /**
  * The path to the `tsconfig.json` file.
  *
  * If set to `false`, the plugin will ignore any `tsconfig.json` file.
  * You can still specify `compilerOptions` directly in the options.
  *
  * @default 'tsconfig.json'
  */
  tsconfig?: string | boolean;
  /**
  * Pass a raw `tsconfig.json` object directly to the plugin.
  *
  * @see https://www.typescriptlang.org/tsconfig
  */
  tsconfigRaw?: Omit<TsConfigJson, "compilerOptions">;
  /**
  * Override the `compilerOptions` specified in `tsconfig.json`.
  *
  * @see https://www.typescriptlang.org/tsconfig/#compilerOptions
  */
  compilerOptions?: TsConfigJson.CompilerOptions;
  /**
  * If `true`, the plugin will generate declaration maps (`.d.ts.map`) for `.d.ts` files.
  */
  sourcemap?: boolean;
  /**
  * Specifies a resolver to resolve type definitions, especially for `node_modules`.
  *
  * - `'oxc'`: Uses Oxc's module resolution, which is faster and more efficient.
  * - `'tsc'`: Uses TypeScript's native module resolution, which may be more compatible with complex setups, but slower.
  *
  * @default 'oxc'
  */
  resolver?: "oxc" | "tsc";
  /**
  * Determines how the default export is emitted.
  *
  * If set to `true`, and you are only exporting a single item using `export default ...`,
  * the output will use `export = ...` instead of the standard ES module syntax.
  * This is useful for compatibility with CommonJS.
  */
  cjsDefault?: boolean;
  /**
  * Indicates whether the generated `.d.ts` files have side effects.
  * - If set to `true`, Rolldown will treat the `.d.ts` files as having side effects during tree-shaking.
  * - If set to `false`, Rolldown may consider the `.d.ts` files as side-effect-free, potentially removing them if they are not imported.
  *
  * @default false
  */
  sideEffects?: boolean;
}
interface TscOptions {
  /**
  * Build mode for the TypeScript compiler:
  *
  * - If `true`, the plugin will use [`tsc -b`](https://www.typescriptlang.org/docs/handbook/project-references.html#build-mode-for-typescript) to build the project and all referenced projects before emitting `.d.ts` files.
  * - If `false`, the plugin will use [`tsc`](https://www.typescriptlang.org/docs/handbook/compiler-options.html) to emit `.d.ts` files without building referenced projects.
  *
  * @default false
  */
  build?: boolean;
  /**
  * If your tsconfig.json has
  * [`references`](https://www.typescriptlang.org/tsconfig/#references) option,
  * `rolldown-plugin-dts` will use [`tsc
  * -b`](https://www.typescriptlang.org/docs/handbook/project-references.html#build-mode-for-typescript)
  * to build the project and all referenced projects before emitting `.d.ts`
  * files.
  *
  * In such case, if this option is `true`, `rolldown-plugin-dts` will write
  * down all built files into your disk, including
  * [`.tsbuildinfo`](https://www.typescriptlang.org/tsconfig/#tsBuildInfoFile)
  * and other built files. This is equivalent to running `tsc -b` in your
  * project.
  *
  * Otherwise, if this option is `false`, `rolldown-plugin-dts` will write
  * built files only into memory and leave a small footprint in your disk.
  *
  * Enabling this option will decrease the build time by caching previous build
  * results. This is helpful when you have a large project with multiple
  * referenced projects.
  *
  * By default, `incremental` is `true` if your tsconfig has
  * [`incremental`](https://www.typescriptlang.org/tsconfig/#incremental) or
  * [`tsBuildInfoFile`](https://www.typescriptlang.org/tsconfig/#tsBuildInfoFile)
  * enabled.
  *
  * This option is only used when {@link Options.oxc} is
  * `false`.
  */
  incremental?: boolean;
  /**
  * If `true`, the plugin will generate `.d.ts` files using `vue-tsc`.
  */
  vue?: boolean;
  /**
  * If `true`, the plugin will generate `.d.ts` files using `@ts-macro/tsc`.
  */
  tsMacro?: boolean;
  /**
  * If `true`, the plugin will launch a separate process for `tsc` or `vue-tsc`.
  * This enables processing multiple projects in parallel.
  */
  parallel?: boolean;
  /**
  * If `true`, the plugin will prepare all files listed in `tsconfig.json` for `tsc` or `vue-tsc`.
  *
  * This is especially useful when you have a single `tsconfig.json` for multiple projects in a monorepo.
  */
  eager?: boolean;
  /**
  * If `true`, the plugin will create a new isolated context for each build,
  * ensuring that previously generated `.d.ts` code and caches are not reused.
  *
  * By default, the plugin may reuse internal caches or incremental build artifacts
  * to speed up repeated builds. Enabling this option forces a clean context,
  * guaranteeing that all type definitions are generated from scratch.
  *
  * @default false
  */
  newContext?: boolean;
  /**
  * If `true`, the plugin will emit `.d.ts` files for `.js` files as well.
  * This is useful when you want to generate type definitions for JavaScript files with JSDoc comments.
  *
  * Enabled by default when `allowJs` in compilerOptions is `true`.
  * This option is only used when {@link Options.oxc} is
  * `false`.
  */
  emitJs?: boolean;
}
interface Options extends GeneralOptions, TscOptions {
  /**
  * If `true`, the plugin will generate `.d.ts` files using Oxc,
  * which is significantly faster than the TypeScript compiler.
  *
  * This option is automatically enabled when `isolatedDeclarations` in `compilerOptions` is set to `true`.
  */
  oxc?: boolean | Omit<IsolatedDeclarationsOptions, "sourcemap">;
  /**
  * **[Experimental]** Enables DTS generation using `tsgo`.
  *
  * To use this option, make sure `@typescript/native-preview` is installed as a dependency,
  * or provide a custom path to the `tsgo` binary using the `path` option.
  *
  * **Note:** This option is not yet recommended for production environments.
  * `tsconfigRaw` and `isolatedDeclarations` options will be ignored when this option is enabled.
  *
  *
  * ```ts
  * // Use tsgo from `@typescript/native-preview` dependency
  * tsgo: true
  *
  * // Use custom tsgo path (e.g., managed by Nix)
  * tsgo: { path: '/path/to/tsgo' }
  * ```
  */
  tsgo?: boolean | TsgoOptions;
}
interface TsgoOptions {
  enabled?: boolean;
  /**
  * Custom path to the `tsgo` binary.
  */
  path?: string;
}
//#endregion
//#region ../../node_modules/.pnpm/@vitejs+devtools@0.0.0-alpha.31_@pnpm+logger@1001.0.1_typescript@5.9.3_vite@packages+core_vue@3.5.27_typescript@5.9.3_/node_modules/@vitejs/devtools/dist/cli-commands.d.ts
//#region src/node/cli-commands.d.ts
interface StartOptions {
  root?: string;
  config?: string;
  host: string;
  port?: string | number;
  open?: boolean;
}
//#endregion
//#region ../../node_modules/.pnpm/@arethetypeswrong+core@0.18.2/node_modules/@arethetypeswrong/core/dist/checkPackage.d.ts
interface CheckPackageOptions {
  /**
   * Exhaustive list of entrypoints to check. The package root is `"."`.
   * Specifying this option disables automatic entrypoint discovery,
   * and overrides the `includeEntrypoints` and `excludeEntrypoints` options.
   */
  entrypoints?: string[];
  /**
   * Entrypoints to check in addition to automatically discovered ones.
   */
  includeEntrypoints?: string[];
  /**
   * Entrypoints to exclude from checking.
   */
  excludeEntrypoints?: (string | RegExp)[];
  /**
   * Whether to automatically consider all published files as entrypoints
   * in the absence of any other detected or configured entrypoints.
   */
  entrypointsLegacy?: boolean;
}
//#endregion
//#region ../../node_modules/.pnpm/publint@0.3.17/node_modules/publint/src/index.d.ts
interface PackFile {
  name: string;
  data: string | ArrayBuffer | Uint8Array;
}
interface Options$2 {
  /**
   * Path to your package that contains a package.json file.
   *
   * ::: info Environment notes
   * - **Node.js**: Defaults to `process.cwd()`.
   * - **Browser**: Automatically inferred from `{ tarball: ArrayBuffer | ReadableStream }`. If `{ files: PackFile[] }` is used,
   *                this must be the shared directory of all files in `files`. e.g. if `name` has `"package/src/index.js",
   *                the `pkgDir` should be `"package"`.
   * :::
   */
  pkgDir?: string;
  /**
   * The level of messages to log (default: `'suggestion'`).
   * - `suggestion`: logs all messages
   * - `warning`: logs only `warning` and `error` messages
   * - `error`: logs only `error` messages
   */
  level?: 'suggestion' | 'warning' | 'error';
  /**
   * The package manager to use for packing the `pkgDir`. The list of
   * packed files is used in certain linting rules, e.g. files marked as
   * entrypoints but not published.
   * - `'auto'`: Automatically detects the package manager using
   *             [`package-manager-detector`](https://github.com/antfu-collective/package-manager-detector).
   * - `'npm'`/`'yarn'`/`'pnpm'`/`'bun'`: Uses the respective package manager to pack.
   * - `{ tarball }`: The packed tarball represented as an `ArrayBuffer` or a `ReadableStream`.
   * - `{ files }`: The manually-unpacked files from a tarball.
   * - `false`: Skips packing the package. This should only be used if all the files
   *            in `pkgDir` are assumed to be published, e.g. in `node_modules`.
   *
   * ::: info Environment notes
   * - **Node.js**: Defaults to `'auto'`. All options above are supported. When using a package manager
   *                to pack, lifecycle scripts like `prepack` and `postpack` are ignored
   *                (except for yarn as it does not allow ignoring lifecycle scripts).
   * - **Browser**: Only `{ tarball }` and `{ files }` are supported and either **must be passed** to work,
   *                as the browser does not have access to the file system.
   * :::
   */
  pack?: 'auto' | 'npm' | 'yarn' | 'pnpm' | 'bun' | {
    tarball: ArrayBuffer | ReadableStream<Uint8Array>;
  } | {
    files: PackFile[];
  } | false;
  /**
   * Report warnings as errors.
   */
  strict?: boolean;
}
//#endregion
//#region ../../node_modules/.pnpm/unplugin@2.3.11/node_modules/unplugin/dist/index.d.ts
/**
* Array, or not yet
*/
type Arrayable$1<T> = T | Array<T>;
type StringOrRegExp = string | RegExp;
type FilterPattern = Arrayable$1<StringOrRegExp>;
//#endregion
//#region ../../node_modules/.pnpm/unplugin-unused@0.5.6/node_modules/unplugin-unused/dist/options-CGknhUOq.d.mts
//#region src/core/options.d.ts
type DepKind = "dependencies" | "devDependencies" | "peerDependencies";
interface Options$1 {
  root?: string;
  include?: FilterPattern;
  exclude?: FilterPattern;
  ignore?: string[] | Partial<Record<DepKind, string[]>>;
  /**
  * @default 'warning'
  */
  level?: "warning" | "error";
  /**
  * @default ['dependencies', 'peerDependencies']
  */
  depKinds?: Array<DepKind>;
}
//#endregion
//#region ../../node_modules/.pnpm/tsdown@0.20.3_@arethetypeswrong+core@0.18.2_@typescript+native-preview@7.0.0-dev.202601_0f996e6618fcfeebf135203f4e3013f2/node_modules/tsdown/dist/types-CNIFJKMX.d.mts
//#region src/utils/types.d.ts
type Overwrite<T, U> = Omit<T, keyof U> & U;
type Awaitable<T> = T | Promise<T>;
type MarkPartial<T, K extends keyof T> = Omit<Required<T>, K> & Partial<Pick<T, K>>;
type Arrayable<T> = T | T[]; //#endregion
//#region src/features/copy.d.ts
interface CopyEntry {
  /**
  * Source path or glob pattern.
  */
  from: string | string[];
  /**
  * Destination path.
  * If not specified, defaults to the output directory ("outDir").
  */
  to?: string;
  /**
  * Whether to flatten the copied files (not preserving directory structure).
  *
  * @default true
  */
  flatten?: boolean;
  /**
  * Output copied items to console.
  * @default false
  */
  verbose?: boolean;
  /**
  * Change destination file or folder name.
  */
  rename?: string | ((name: string, extension: string, fullPath: string) => string);
}
type CopyOptions = Arrayable<string | CopyEntry>;
type CopyOptionsFn = (options: ResolvedConfig) => Awaitable<CopyOptions>; //#endregion
//#region src/features/css/index.d.ts
interface CssOptions {
  /**
  * Enable/disable CSS code splitting.
  * When set to `false`, all CSS in the entire project will be extracted into a single CSS file.
  * When set to `true`, CSS imported in async JS chunks will be preserved as chunks.
  * @default true
  */
  splitting?: boolean;
  /**
  * Specify the name of the CSS file.
  * @default 'style.css'
  */
  fileName?: string;
} //#endregion
//#region src/features/devtools.d.ts
interface DevtoolsOptions extends NonNullable<InputOptions["devtools"]> {
  /**
  * **[experimental]** Enable devtools integration. `@vitejs/devtools` must be installed as a dependency.
  *
  * Defaults to true, if `@vitejs/devtools` is installed.
  */
  ui?: boolean | Partial<StartOptions>;
  /**
  * Clean devtools stale sessions.
  *
  * @default true
  */
  clean?: boolean;
} //#endregion
//#region src/features/hooks.d.ts
interface BuildContext {
  options: ResolvedConfig;
  hooks: Hookable<TsdownHooks>;
}
interface RolldownContext {
  buildOptions: BuildOptions;
}
/**
* Hooks for tsdown.
*/
interface TsdownHooks {
  /**
  * Invoked before each tsdown build starts.
  * Use this hook to perform setup or preparation tasks.
  */
  "build:prepare": (ctx: BuildContext) => void | Promise<void>;
  /**
  * Invoked before each Rolldown build.
  * For dual-format builds, this hook is called for each format.
  * Useful for configuring or modifying the build context before bundling.
  */
  "build:before": (ctx: BuildContext & RolldownContext) => void | Promise<void>;
  /**
  * Invoked after each tsdown build completes.
  * Use this hook for cleanup or post-processing tasks.
  */
  "build:done": (ctx: BuildContext & {
    chunks: RolldownChunk[];
  }) => void | Promise<void>;
} //#endregion
//#region node_modules/.pnpm/pkg-types@2.3.0/node_modules/pkg-types/dist/index.d.mts
interface PackageJson {
  /**
   * The name is what your thing is called.
   * Some rules:
   * - The name must be less than or equal to 214 characters. This includes the scope for scoped packages.
   * - The name can’t start with a dot or an underscore.
   * - New packages must not have uppercase letters in the name.
   * - The name ends up being part of a URL, an argument on the command line, and a folder name. Therefore, the name can’t contain any non-URL-safe characters.
   */
  name?: string;
  /**
   * Version must be parseable by `node-semver`, which is bundled with npm as a dependency. (`npm install semver` to use it yourself.)
   */
  version?: string;
  /**
   * Put a description in it. It’s a string. This helps people discover your package, as it’s listed in `npm search`.
   */
  description?: string;
  /**
   * Put keywords in it. It’s an array of strings. This helps people discover your package as it’s listed in `npm search`.
   */
  keywords?: string[];
  /**
   * The url to the project homepage.
   */
  homepage?: string;
  /**
   * The url to your project’s issue tracker and / or the email address to which issues should be reported. These are helpful for people who encounter issues with your package.
   */
  bugs?: string | {
    url?: string;
    email?: string;
  };
  /**
   * You should specify a license for your package so that people know how they are permitted to use it, and any restrictions you’re placing on it.
   */
  license?: string;
  /**
   * Specify the place where your code lives. This is helpful for people who want to contribute. If the git repo is on GitHub, then the `npm docs` command will be able to find you.
   * For GitHub, GitHub gist, Bitbucket, or GitLab repositories you can use the same shortcut syntax you use for npm install:
   */
  repository?: string | {
    type: string;
    url: string;
    /**
     * If the `package.json` for your package is not in the root directory (for example if it is part of a monorepo), you can specify the directory in which it lives:
     */
    directory?: string;
  };
  /**
   * The `scripts` field is a dictionary containing script commands that are run at various times in the lifecycle of your package.
   */
  scripts?: PackageJsonScripts;
  /**
   * If you set `"private": true` in your package.json, then npm will refuse to publish it.
   */
  private?: boolean;
  /**
   * The “author” is one person.
   */
  author?: PackageJsonPerson;
  /**
   * “contributors” is an array of people.
   */
  contributors?: PackageJsonPerson[];
  /**
   * An object containing a URL that provides up-to-date information
   * about ways to help fund development of your package,
   * a string URL, or an array of objects and string URLs
   */
  funding?: PackageJsonFunding | PackageJsonFunding[];
  /**
   * The optional `files` field is an array of file patterns that describes the entries to be included when your package is installed as a dependency. File patterns follow a similar syntax to `.gitignore`, but reversed: including a file, directory, or glob pattern (`*`, `**\/*`, and such) will make it so that file is included in the tarball when it’s packed. Omitting the field will make it default to `["*"]`, which means it will include all files.
   */
  files?: string[];
  /**
   * The main field is a module ID that is the primary entry point to your program. That is, if your package is named `foo`, and a user installs it, and then does `require("foo")`, then your main module’s exports object will be returned.
   * This should be a module ID relative to the root of your package folder.
   * For most modules, it makes the most sense to have a main script and often not much else.
   */
  main?: string;
  /**
   * If your module is meant to be used client-side the browser field should be used instead of the main field. This is helpful to hint users that it might rely on primitives that aren’t available in Node.js modules. (e.g. window)
   */
  browser?: string | Record<string, string | false>;
  /**
   * The `unpkg` field is used to specify the URL to a UMD module for your package. This is used by default in the unpkg.com CDN service.
   */
  unpkg?: string;
  /**
   * A map of command name to local file name. On install, npm will symlink that file into `prefix/bin` for global installs, or `./node_modules/.bin/` for local installs.
   */
  bin?: string | Record<string, string>;
  /**
   * Specify either a single file or an array of filenames to put in place for the `man` program to find.
   */
  man?: string | string[];
  /**
   * Dependencies are specified in a simple object that maps a package name to a version range. The version range is a string which has one or more space-separated descriptors. Dependencies can also be identified with a tarball or git URL.
   */
  dependencies?: Record<string, string>;
  /**
   * If someone is planning on downloading and using your module in their program, then they probably don’t want or need to download and build the external test or documentation framework that you use.
   * In this case, it’s best to map these additional items in a `devDependencies` object.
   */
  devDependencies?: Record<string, string>;
  /**
   * If a dependency can be used, but you would like npm to proceed if it cannot be found or fails to install, then you may put it in the `optionalDependencies` object. This is a map of package name to version or url, just like the `dependencies` object. The difference is that build failures do not cause installation to fail.
   */
  optionalDependencies?: Record<string, string>;
  /**
   * In some cases, you want to express the compatibility of your package with a host tool or library, while not necessarily doing a `require` of this host. This is usually referred to as a plugin. Notably, your module may be exposing a specific interface, expected and specified by the host documentation.
   */
  peerDependencies?: Record<string, string>;
  /**
   * TypeScript typings, typically ending by `.d.ts`.
   */
  types?: string;
  /**
   * This field is synonymous with `types`.
   */
  typings?: string;
  /**
   * Non-Standard Node.js alternate entry-point to main.
   * An initial implementation for supporting CJS packages (from main), and use module for ESM modules.
   */
  module?: string;
  /**
   * Make main entry-point be loaded as an ESM module, support "export" syntax instead of "require"
   *
   * Docs:
   * - https://nodejs.org/docs/latest-v14.x/api/esm.html#esm_package_json_type_field
   *
   * @default 'commonjs'
   * @since Node.js v14
   */
  type?: "module" | "commonjs";
  /**
   * Alternate and extensible alternative to "main" entry point.
   *
   * When using `{type: "module"}`, any ESM module file MUST end with `.mjs` extension.
   *
   * Docs:
   * - https://nodejs.org/docs/latest-v14.x/api/esm.html#esm_exports_sugar
   *
   * @since Node.js v12.7
   */
  exports?: PackageJsonExports;
  /**
   *  Docs:
   *  - https://nodejs.org/api/packages.html#imports
   */
  imports?: Record<string, string | Record<string, string>>;
  /**
   * The field is used to define a set of sub-packages (or workspaces) within a monorepo.
   *
   * This field is an array of glob patterns or an object with specific configurations for managing
   * multiple packages in a single repository.
   */
  workspaces?: string[] | {
    /**
     * Workspace package paths. Glob patterns are supported.
     */
    packages?: string[];
    /**
     * Packages to block from hoisting to the workspace root.
     * Uses glob patterns to match module paths in the dependency tree.
     *
     * Docs:
     * - https://classic.yarnpkg.com/blog/2018/02/15/nohoist/
     */
    nohoist?: string[];
  };
  /**
   * The field is used to specify different TypeScript declaration files for
   * different versions of TypeScript, allowing for version-specific type definitions.
   */
  typesVersions?: Record<string, Record<string, string[]>>;
  /**
   * You can specify which operating systems your module will run on:
   * ```json
   * {
   *   "os": ["darwin", "linux"]
   * }
   * ```
   * You can also block instead of allowing operating systems, just prepend the blocked os with a '!':
   * ```json
   * {
   *   "os": ["!win32"]
   * }
   * ```
   * The host operating system is determined by `process.platform`
   * It is allowed to both block and allow an item, although there isn't any good reason to do this.
   */
  os?: string[];
  /**
   * If your code only runs on certain cpu architectures, you can specify which ones.
   * ```json
   * {
   *   "cpu": ["x64", "ia32"]
   * }
   * ```
   * Like the `os` option, you can also block architectures:
   * ```json
   * {
   *   "cpu": ["!arm", "!mips"]
   * }
   * ```
   * The host architecture is determined by `process.arch`
   */
  cpu?: string[];
  /**
   * This is a set of config values that will be used at publish-time.
   */
  publishConfig?: {
    /**
     * The registry that will be used if the package is published.
     */
    registry?: string;
    /**
     * The tag that will be used if the package is published.
     */
    tag?: string;
    /**
     * The access level that will be used if the package is published.
     */
    access?: "public" | "restricted";
    /**
     * **pnpm-only**
     *
     * By default, for portability reasons, no files except those listed in
     * the bin field will be marked as executable in the resulting package
     * archive. The executableFiles field lets you declare additional fields
     * that must have the executable flag (+x) set even if
     * they aren't directly accessible through the bin field.
     */
    executableFiles?: string[];
    /**
     * **pnpm-only**
     *
     * You also can use the field `publishConfig.directory` to customize
     * the published subdirectory relative to the current `package.json`.
     *
     * It is expected to have a modified version of the current package in
     * the specified directory (usually using third party build tools).
     */
    directory?: string;
    /**
     * **pnpm-only**
     *
     * When set to `true`, the project will be symlinked from the
     * `publishConfig.directory` location during local development.
     * @default true
     */
    linkDirectory?: boolean;
  } & Pick<PackageJson, "bin" | "main" | "exports" | "types" | "typings" | "module" | "browser" | "unpkg" | "typesVersions" | "os" | "cpu">;
  /**
   * See: https://nodejs.org/api/packages.html#packagemanager
   * This field defines which package manager is expected to be used when working on the current project.
   * Should be of the format: `<name>@<version>[#hash]`
   */
  packageManager?: string;
  [key: string]: any;
}
/**
 * See: https://docs.npmjs.com/cli/v11/using-npm/scripts#pre--post-scripts
 */
type PackageJsonScriptWithPreAndPost<S extends string> = S | `${"pre" | "post"}${S}`;
/**
 * See: https://docs.npmjs.com/cli/v11/using-npm/scripts#life-cycle-operation-order
 */
type PackageJsonNpmLifeCycleScripts = "dependencies" | "prepublishOnly" | PackageJsonScriptWithPreAndPost<"install" | "pack" | "prepare" | "publish" | "restart" | "start" | "stop" | "test" | "version">;
/**
 * See: https://pnpm.io/scripts#lifecycle-scripts
 */
type PackageJsonPnpmLifeCycleScripts = "pnpm:devPreinstall";
type PackageJsonCommonScripts = "build" | "coverage" | "deploy" | "dev" | "format" | "lint" | "preview" | "release" | "typecheck" | "watch";
type PackageJsonScriptName = PackageJsonCommonScripts | PackageJsonNpmLifeCycleScripts | PackageJsonPnpmLifeCycleScripts | (string & {});
type PackageJsonScripts = { [P in PackageJsonScriptName]?: string };
/**
 * A “person” is an object with a “name” field and optionally “url” and “email”. Or you can shorten that all into a single string, and npm will parse it for you.
 */
type PackageJsonPerson = string | {
  name: string;
  email?: string;
  url?: string;
};
type PackageJsonFunding = string | {
  url: string;
  type?: string;
};
type PackageJsonExportKey = "." | "import" | "require" | "types" | "node" | "browser" | "default" | (string & {});
type PackageJsonExportsObject = { [P in PackageJsonExportKey]?: string | PackageJsonExportsObject | Array<string | PackageJsonExportsObject> };
type PackageJsonExports = string | PackageJsonExportsObject | Array<string | PackageJsonExportsObject>;
/**
 * Defines a PackageJson structure.
 * @param pkg - The `package.json` content as an object. See {@link PackageJson}.
 * @returns the same `package.json` object.
 */
//#endregion
//#region src/utils/package.d.ts
interface PackageJsonWithPath extends PackageJson {
  packageJsonPath: string;
}
type PackageType = "module" | "commonjs" | undefined; //#endregion
//#region src/features/output.d.ts
interface OutExtensionContext {
  options: InputOptions;
  format: NormalizedFormat;
  /** "type" field in project's package.json */
  pkgType?: PackageType;
}
interface OutExtensionObject {
  js?: string;
  dts?: string;
}
type OutExtensionFactory = (context: OutExtensionContext) => OutExtensionObject | undefined;
interface ChunkAddonObject {
  js?: string;
  css?: string;
  dts?: string;
}
type ChunkAddonFunction = (ctx: {
  format: Format;
  fileName: string;
}) => ChunkAddonObject | string | undefined;
type ChunkAddon = ChunkAddonObject | ChunkAddonFunction | string; //#endregion
//#region src/features/pkg/attw.d.ts
interface AttwOptions extends CheckPackageOptions {
  /**
  * Profiles select a set of resolution modes to require/ignore. All are evaluated but failures outside
  * of those required are ignored.
  *
  * The available profiles are:
  * - `strict`: requires all resolutions
  * - `node16`: ignores node10 resolution failures
  * - `esm-only`: ignores CJS resolution failures
  *
  * @default 'strict'
  */
  profile?: "strict" | "node16" | "esm-only";
  /**
  * The level of the check.
  *
  * The available levels are:
  * - `error`: fails the build
  * - `warn`: warns the build
  *
  * @default 'warn'
  */
  level?: "error" | "warn";
  /**
  * List of problem types to ignore by rule name.
  *
  * The available values are:
  * - `no-resolution`
  * - `untyped-resolution`
  * - `false-cjs`
  * - `false-esm`
  * - `cjs-resolves-to-esm`
  * - `fallback-condition`
  * - `cjs-only-exports-default`
  * - `named-exports`
  * - `false-export-default`
  * - `missing-export-equals`
  * - `unexpected-module-syntax`
  * - `internal-resolution-error`
  *
  * @example
  * ```ts
  * ignoreRules: ['no-resolution', 'false-cjs']
  * ```
  */
  ignoreRules?: string[];
} //#endregion
//#region src/utils/chunks.d.ts
type RolldownChunk = (OutputChunk | OutputAsset) & {
  outDir: string;
};
type ChunksByFormat = Partial<Record<NormalizedFormat, RolldownChunk[]>>;
interface TsdownBundle extends AsyncDisposable {
  chunks: RolldownChunk[];
  config: ResolvedConfig;
} //#endregion
//#region src/features/pkg/exports.d.ts
interface ExportsOptions {
  /**
  * Generate exports that link to source code during development.
  * - string: add as a custom condition.
  * - true: all conditions point to source files, and add dist exports to `publishConfig`.
  */
  devExports?: boolean | string;
  /**
  * Exports for package.json file.
  * @default true
  */
  packageJson?: boolean;
  /**
  * Exports for all files.
  */
  all?: boolean;
  /**
  * Specifies file patterns (as glob patterns or regular expressions) to exclude from package exports.
  * Use this to prevent certain files from being included in the exported package, such as test files, binaries, or internal utilities.
  *
  * **Note:** Do not include file extensions, and paths should be relative to the dist directory.
  *
  * @example
  * exclude: ['cli', '**\/*.test', /internal/]
  */
  exclude?: (RegExp | string)[];
  /**
  * Generate legacy fields (`main` and `module`) for older Node.js and bundlers
  * that do not support package `exports` field.
  *
  * Defaults to false, if only ESM builds are included, true otherwise.
  *
  * @see {@link https://github.com/publint/publint/issues/24}
  */
  legacy?: boolean;
  customExports?: (exports: Record<string, any>, context: {
    pkg: PackageJson;
    chunks: ChunksByFormat;
    isPublish: boolean;
  }) => Awaitable<Record<string, any>>;
} //#endregion
//#region src/features/pkg/publint.d.ts
interface PublintOptions extends Omit<Options$2, "pack" | "pkgDir"> {} //#endregion
//#region src/utils/logger.d.ts
type LogType = "error" | "warn" | "info";
type LogLevel = LogType | "silent";
interface Logger {
  level: LogLevel;
  info: (...args: any[]) => void;
  warn: (...args: any[]) => void;
  warnOnce: (...args: any[]) => void;
  error: (...args: any[]) => void;
  success: (...args: any[]) => void;
  clearScreen: (type: LogType) => void;
}
declare const globalLogger: Logger; //#endregion
//#region src/features/report.d.ts
interface ReportOptions {
  /**
  * Enable/disable gzip-compressed size reporting.
  * Compressing large output files can be slow, so disabling this may increase build performance for large projects.
  *
  * @default true
  */
  gzip?: boolean;
  /**
  * Enable/disable brotli-compressed size reporting.
  * Compressing large output files can be slow, so disabling this may increase build performance for large projects.
  *
  * @default false
  */
  brotli?: boolean;
  /**
  * Skip reporting compressed size for files larger than this size.
  * @default 1_000_000 // 1MB
  */
  maxCompressSize?: number;
}
//#endregion
//#region src/config/types.d.ts
type Sourcemap = boolean | "inline" | "hidden";
type Format = ModuleFormat;
type NormalizedFormat = InternalModuleFormat;
/**
* Extended input option that supports glob negation patterns.
*
* When using object form, values can be:
* - A single glob pattern string
* - An array of glob patterns, including negation patterns (prefixed with `!`)
*
* @example
* ```ts
* entry: {
*   // Single pattern
*   "utils/*": "./src/utils/*.ts",
*   // Array with negation pattern to exclude files
*   "hooks/*": ["./src/hooks/*.ts", "!./src/hooks/index.ts"],
* }
* ```
*/
type TsdownInputOption = Arrayable<string | Record<string, Arrayable<string>>>;
interface Workspace {
  /**
  * Workspace directories. Glob patterns are supported.
  * - `auto`: Automatically detect `package.json` files in the workspace.
  * @default 'auto'
  */
  include?: Arrayable<string> | "auto";
  /**
  * Exclude directories from workspace.
  * Defaults to all `node_modules`, `dist`, `test`, `tests`, `temp`, and `tmp` directories.
  */
  exclude?: Arrayable<string>;
  /**
  * Path to the workspace configuration file.
  */
  config?: boolean | string;
}
type NoExternalFn = (id: string, importer: string | undefined) => boolean | null | undefined | void;
type CIOption = "ci-only" | "local-only";
type WithEnabled<T> = boolean | undefined | CIOption | (T & {
  /** @default true */enabled?: boolean | CIOption;
});
/**
* Options for tsdown.
*/
interface UserConfig {
  /**
  * Defaults to `'src/index.ts'` if it exists.
  *
  * Supports glob patterns with negation to exclude files:
  * @example
  * ```ts
  * entry: {
  *   "hooks/*": ["./src/hooks/*.ts", "!./src/hooks/index.ts"],
  * }
  * ```
  */
  entry?: TsdownInputOption;
  external?: ExternalOption;
  noExternal?: Arrayable<string | RegExp> | NoExternalFn;
  /**
  * Bundle only the dependencies listed here; throw an error if any others are missing.
  *
  * - `undefined` (default): Show warnings for bundled dependencies.
  * - `false`: Suppress all warnings about `inlineOnly` option.
  *
  * Note: Be sure to include all required sub-dependencies as well.
  */
  inlineOnly?: Arrayable<string | RegExp> | false;
  /**
  * Skip bundling `node_modules`.
  * @default false
  */
  skipNodeModulesBundle?: boolean;
  alias?: Record<string, string>;
  tsconfig?: string | boolean;
  /**
  * Specifies the target runtime platform for the build.
  *
  * - `node`: Node.js and compatible runtimes (e.g., Deno, Bun).
  *   For CJS format, this is always set to `node` and cannot be changed.
  * - `neutral`: A platform-agnostic target with no specific runtime assumptions.
  * - `browser`: Web browsers.
  *
  * @default 'node'
  * @see https://tsdown.dev/options/platform
  */
  platform?: "node" | "neutral" | "browser";
  /**
  * Specifies the compilation target environment(s).
  *
  * Determines the JavaScript version or runtime(s) for which the code should be compiled.
  * If not set, defaults to the value of `engines.node` in your project's `package.json`.
  * If no `engines.node` field exists, no syntax transformations are applied.
  *
  * Accepts a single target (e.g., `'es2020'`, `'node18'`), an array of targets, or `false` to disable all transformations.
  *
  * @see {@link https://tsdown.dev/options/target#supported-targets} for a list of valid targets and more details.
  *
  * @example
  * ```jsonc
  * // Target a single environment
  * { "target": "node18" }
  * ```
  *
  * @example
  * ```jsonc
  * // Target multiple environments
  * { "target": ["node18", "es2020"] }
  * ```
  *
  * @example
  * ```jsonc
  * // Disable all syntax transformations
  * { "target": false }
  * ```
  */
  target?: string | string[] | false;
  /**
  * Compile-time env variables, which can be accessed via `import.meta.env` or `process.env`.
  * @example
  * ```json
  * {
  *   "DEBUG": true,
  *   "NODE_ENV": "production"
  * }
  * ```
  */
  env?: Record<string, any>;
  /**
  * Path to env file providing compile-time env variables.
  * @example
  * `.env`, `.env.production`, etc.
  */
  envFile?: string;
  /**
  * When loading env variables from `envFile`, only include variables with these prefixes.
  * @default 'TSDOWN_'
  */
  envPrefix?: string | string[];
  define?: Record<string, string>;
  /** @default false */
  shims?: boolean;
  /**
  * Configure tree shaking options.
  * @see {@link https://rolldown.rs/options/treeshake} for more details.
  * @default true
  */
  treeshake?: boolean | TreeshakingOptions;
  /**
  * Sets how input files are processed.
  * For example, use 'js' to treat files as JavaScript or 'base64' for images.
  * Lets you import or require files like images or fonts.
  * @example
  * ```json
  * { '.jpg': 'asset', '.png': 'base64' }
  * ```
  */
  loader?: ModuleTypes;
  /**
  * If enabled, strips the `node:` protocol prefix from import source.
  *
  * @default false
  * @deprecated Use `nodeProtocol: 'strip'` instead.
  *
  * @example
  * // With removeNodeProtocol enabled:
  * import('node:fs'); // becomes import('fs')
  */
  removeNodeProtocol?: boolean;
  /**
  * - If `true`, add `node:` prefix to built-in modules.
  * - If `'strip'`, strips the `node:` protocol prefix from import source.
  * - If `false`, does not modify the import source.
  *
  * @default false
  *
  * @example
  * // With nodeProtocol enabled:
  * import('fs'); // becomes import('node:fs')
  * // With nodeProtocol set to 'strip':
  * import('node:fs'); // becomes import('fs')
  * // With nodeProtocol set to false:
  * import('node:fs'); // remains import('node:fs')
  *
  */
  nodeProtocol?: "strip" | boolean;
  /**
  * Controls which warnings are emitted during the build process. Each option can be set to `true` (emit warning) or `false` (suppress warning).
  */
  checks?: ChecksOptions & {
    /**
    * If the config includes the `cjs` format and
    * one of its target >= node 20.19.0 / 22.12.0,
    * warn the user about the deprecation of CommonJS.
    *
    * @default true
    */
    legacyCjs?: boolean;
  };
  plugins?: InputOptions["plugins"];
  /**
  * Use with caution; ensure you understand the implications.
  */
  inputOptions?: InputOptions | ((options: InputOptions, format: NormalizedFormat, context: {
    cjsDts: boolean;
  }) => Awaitable<InputOptions | void | null>);
  /** @default 'es' */
  format?: Format | Format[] | Partial<Record<Format, Partial<ResolvedConfig>>>;
  globalName?: string;
  /** @default 'dist' */
  outDir?: string;
  /**
  * Whether to write the files to disk.
  * This option is incompatible with watch mode.
  * @default true
  */
  write?: boolean;
  /**
  * Whether to generate source map files.
  *
  * Note that this option will always be `true` if you have
  * [`declarationMap`](https://www.typescriptlang.org/tsconfig/#declarationMap)
  * option enabled in your `tsconfig.json`.
  *
  * @default false
  */
  sourcemap?: Sourcemap;
  /**
  * Clean directories before build.
  *
  * Default to output directory.
  * @default true
  */
  clean?: boolean | string[];
  /**
  * @default false
  */
  minify?: boolean | "dce-only" | MinifyOptions;
  footer?: ChunkAddon;
  banner?: ChunkAddon;
  /**
  * Determines whether unbundle mode is enabled.
  * When set to true, the output files will mirror the input file structure.
  * @default false
  */
  unbundle?: boolean;
  /**
  * @deprecated Use `unbundle` instead.
  * @default true
  */
  bundle?: boolean;
  /**
  * Use a fixed extension for output files.
  * The extension will always be `.cjs` or `.mjs`.
  * Otherwise, it will depend on the package type.
  *
  * Defaults to `true` if `platform` is set to `node`, `false` otherwise.
  */
  fixedExtension?: boolean;
  /**
  * Custom extensions for output files.
  * `fixedExtension` will be overridden by this option.
  */
  outExtensions?: OutExtensionFactory;
  /**
  * If enabled, appends hash to chunk filenames.
  * @default true
  */
  hash?: boolean;
  /**
  * @default true
  */
  cjsDefault?: boolean;
  /**
  * Use with caution; ensure you understand the implications.
  */
  outputOptions?: OutputOptions | ((options: OutputOptions, format: NormalizedFormat, context: {
    cjsDts: boolean;
  }) => Awaitable<OutputOptions | void | null>);
  /**
  * The working directory of the config file.
  * - Defaults to `process.cwd()` for root config.
  * - Defaults to the package directory for workspace config.
  */
  cwd?: string;
  /**
  * The name to show in CLI output. This is useful for monorepos or workspaces.
  * When using workspace mode, this option defaults to the package name from package.json.
  * In non-workspace mode, this option must be set explicitly for the name to show in the CLI output.
  */
  name?: string;
  /**
  * Log level.
  * @default 'info'
  */
  logLevel?: LogLevel;
  /**
  * If true, fails the build on warnings.
  * @default 'ci-only'
  */
  failOnWarn?: boolean | CIOption;
  /**
  * Custom logger.
  */
  customLogger?: Logger;
  /**
  * Reuse config from Vite or Vitest (experimental)
  * @default false
  */
  fromVite?: boolean | "vitest";
  /**
  * @default false
  */
  watch?: boolean | Arrayable<string>;
  /**
  * Files or patterns to not watch while in watch mode.
  */
  ignoreWatch?: Arrayable<string | RegExp>;
  /**
  * **[experimental]** Enable devtools.
  *
  *DevTools is still under development, and this is for early testers only.
  *
  * This may slow down the build process significantly.
  *
  * @default false
  */
  devtools?: WithEnabled<DevtoolsOptions>;
  /**
  * You can specify command to be executed after a successful build, specially useful for Watch mode
  */
  onSuccess?: string | ((config: ResolvedConfig, signal: AbortSignal) => void | Promise<void>);
  /**
  * Enables generation of TypeScript declaration files (`.d.ts`).
  *
  * By default, this option is auto-detected based on your project's `package.json`:
  * - If the `types` field is present, or if the main `exports` contains a `types` entry, declaration file generation is enabled by default.
  * - Otherwise, declaration file generation is disabled by default.
  */
  dts?: WithEnabled<Options>;
  /**
  * Enable unused dependencies check with `unplugin-unused`
  * Requires `unplugin-unused` to be installed.
  * @default false
  */
  unused?: WithEnabled<Options$1>;
  /**
  * Run publint after bundling.
  * Requires `publint` to be installed.
  * @default false
  */
  publint?: WithEnabled<PublintOptions>;
  /**
  * Run `arethetypeswrong` after bundling.
  * Requires `@arethetypeswrong/core` to be installed.
  *
  * @default false
  * @see https://github.com/arethetypeswrong/arethetypeswrong.github.io
  */
  attw?: WithEnabled<AttwOptions>;
  /**
  * Enable size reporting after bundling.
  * @default true
  */
  report?: WithEnabled<ReportOptions>;
  /**
  * `import.meta.glob` support.
  * @see https://vite.dev/guide/features.html#glob-import
  * @default true
  */
  globImport?: boolean;
  /**
  * Generate package exports for `package.json`.
  *
  * This will set the `main`, `module`, `types`, `exports` fields in `package.json`
  * to point to the generated files.
  */
  exports?: WithEnabled<ExportsOptions>;
  /**
  * **[experimental]** CSS options.
  */
  css?: CssOptions;
  /**
  * @deprecated Alias for `copy`, will be removed in the future.
  */
  publicDir?: CopyOptions | CopyOptionsFn;
  /**
  * Copy files to another directory.
  * @example
  * ```ts
  * [
  *   'src/assets',
  *   'src/env.d.ts',
  *   'src/styles/**\/*.css',
  *   { from: 'src/assets', to: 'dist/assets' },
  *   { from: 'src/styles/**\/*.css', to: 'dist', flatten: true },
  * ]
  * ```
  */
  copy?: CopyOptions | CopyOptionsFn;
  hooks?: Partial<TsdownHooks> | ((hooks: Hookable<TsdownHooks>) => Awaitable<void>);
  /**
  * **[experimental]** Enable workspace mode.
  * This allows you to build multiple packages in a monorepo.
  */
  workspace?: Workspace | Arrayable<string> | true;
}
interface InlineConfig extends UserConfig {
  /**
  * Config file path
  */
  config?: boolean | string;
  /**
  * Config loader to use. It can only be set via CLI or API.
  * @default 'auto'
  */
  configLoader?: "auto" | "native" | "unrun";
  /**
  * Filter configs by cwd or name.
  */
  filter?: RegExp | Arrayable<string>;
}
type UserConfigFn = (inlineConfig: InlineConfig, context: {
  ci: boolean;
}) => Awaitable<Arrayable<UserConfig>>;
type UserConfigExport = Awaitable<Arrayable<UserConfig> | UserConfigFn>;
type ResolvedConfig = Overwrite<MarkPartial<Omit<UserConfig, "workspace" | "fromVite" | "publicDir" | "bundle" | "removeNodeProtocol" | "logLevel" | "failOnWarn" | "customLogger" | "envFile" | "envPrefix">, "globalName" | "inputOptions" | "outputOptions" | "minify" | "define" | "alias" | "external" | "onSuccess" | "outExtensions" | "hooks" | "copy" | "loader" | "name" | "banner" | "footer" | "checks">, {
  /** Resolved entry map (after glob expansion) */entry: Record<string, string>;
  nameLabel: string | undefined;
  format: NormalizedFormat;
  target?: string[];
  clean: string[];
  pkg?: PackageJsonWithPath;
  nodeProtocol: "strip" | boolean;
  logger: Logger;
  ignoreWatch: Array<string | RegExp>;
  noExternal?: NoExternalFn;
  inlineOnly?: Array<string | RegExp> | false;
  css: Required<CssOptions>;
  dts: false | Options;
  report: false | ReportOptions;
  tsconfig: false | string;
  exports: false | ExportsOptions;
  devtools: false | DevtoolsOptions;
  publint: false | PublintOptions;
  attw: false | AttwOptions;
  unused: false | Options$1;
}>; //#endregion
//#endregion
//#region ../../node_modules/.pnpm/tsdown@0.20.3_@arethetypeswrong+core@0.18.2_@typescript+native-preview@7.0.0-dev.202601_0f996e6618fcfeebf135203f4e3013f2/node_modules/tsdown/dist/options-DRXBLnH3.d.mts
//#region src/config/options.d.ts
/**
* Resolve user config into resolved configs
*
* **Internal API, not for public use**
* @private
*/
declare function resolveUserConfig(userConfig: UserConfig, inlineConfig: InlineConfig): Promise<ResolvedConfig[]>;
declare function mergeConfig(defaults: UserConfig, overrides: UserConfig): UserConfig;
declare function mergeConfig(defaults: InlineConfig, overrides: InlineConfig): InlineConfig; //#endregion
//#endregion
//#region ../../node_modules/.pnpm/tsdown@0.20.3_@arethetypeswrong+core@0.18.2_@typescript+native-preview@7.0.0-dev.202601_0f996e6618fcfeebf135203f4e3013f2/node_modules/tsdown/dist/config.d.mts
//#region src/config.d.ts
/**
* Defines the configuration for tsdown.
*/
declare function defineConfig(options: UserConfig): UserConfig;
declare function defineConfig(options: UserConfig[]): UserConfig[];
declare function defineConfig(options: UserConfigFn): UserConfigFn;
declare function defineConfig(options: UserConfigExport): UserConfigExport; //#endregion
//#endregion
//#region ../../node_modules/.pnpm/tsdown@0.20.3_@arethetypeswrong+core@0.18.2_@typescript+native-preview@7.0.0-dev.202601_0f996e6618fcfeebf135203f4e3013f2/node_modules/tsdown/dist/index.d.mts
//#region src/build.d.ts
/**
* Build with tsdown.
*/
declare function build$1(inlineConfig?: InlineConfig): Promise<TsdownBundle[]>;
/**
* Build with `ResolvedConfigs`.
*
* **Internal API, not for public use**
* @private
*/
declare function buildWithConfigs(configs: ResolvedConfig[], configFiles: string[], _restart: () => void): Promise<TsdownBundle[]>; //#endregion
//#region src/features/debug.d.ts
declare function enableDebug(debug?: boolean | Arrayable<string>): void; //#endregion
//#endregion
export { AttwOptions, BuildContext, CIOption, ChunkAddon, ChunkAddonFunction, ChunkAddonObject, CopyEntry, CopyOptions, CopyOptionsFn, CssOptions, DevtoolsOptions, Options as DtsOptions, ExportsOptions, Format, InlineConfig, type Logger, NoExternalFn, NormalizedFormat, OutExtensionContext, OutExtensionFactory, OutExtensionObject, PackageJsonWithPath, PackageType, PublintOptions, ReportOptions, ResolvedConfig, Rolldown, RolldownChunk, RolldownContext, Sourcemap, TreeshakingOptions, TsdownBundle, TsdownHooks, TsdownInputOption, Options$1 as UnusedOptions, type UserConfig, type UserConfigExport, type UserConfigFn, WithEnabled, Workspace, build$1 as build, buildWithConfigs, defineConfig, enableDebug, globalLogger, mergeConfig, resolveUserConfig };