import { Token, Type } from '@frontmcp/sdk'; export declare const tokenName: (t: Token) => string; export declare const isClass: (x: any) => x is Type; export declare const isPromise: (v: any) => v is Promise; export declare function getAsyncWithTokens(klass: Type): Type[] | null; /** Read param types for static with(...) only; TDZ-friendly. */ export declare function readWithParamTypes(klass: Type, forWhat: 'discovery' | 'invocation'): Type[]; /** Discover deps for a CLASS token or a concrete Type (ctor/with). */ export declare function depsOfClass(klass: Type, phase: 'discovery' | 'invocation'): Type[]; /** Discover deps for a Function token without the first N args. */ export declare function depsOfFunc(fn: (...args: any[]) => any | Promise, phase: 'discovery' | 'invocation'): Type[];