import { Type } from '@deepkit/type';
import { TypeDefinition } from '@stryke/types/configuration';
import { Options, Context } from '../../types/build.js';
import '@storm-software/build-tools/types';
import '@storm-software/config/types';
import '@stryke/env/get-env-paths';
import '@stryke/env/types';
import '@stryke/types/base';
import '@stryke/types/package-json';
import '@stryke/types/tsconfig';
import 'hookable';
import 'jiti';
import 'magic-string';
import 'typescript';
import 'unimport';
import '../../types/config.js';
import '@storm-software/config-tools/types';

/**
 * Compiles a type definition to a module.
 *
 * @param context - The context object containing the environment paths.
 * @param entry - The type definition to compile.
 * @returns A promise that resolves to the compiled module.
 */
declare function resolveType<TOptions extends Options = Options, TResult = any>(context: Context<TOptions>, entry: TypeDefinition): Promise<TResult>;
/**
 * Compiles a type definition to a module.
 *
 * @param context - The context object containing the environment paths.
 * @param entry - The type definition to compile.
 * @returns A promise that resolves to the compiled module.
 */
declare function reflectType<TOptions extends Options = Options>(context: Context<TOptions>, entry: TypeDefinition): Promise<Type>;

export { reflectType, resolveType };
