import type { ComponentOpts } from "./types.js"; /** * Options for wrapping SDKs and functions. */ export interface WrapOptions { /** Optional prefix for all generated component names. */ prefix?: string; /** Optional function to generate component options based on the path and arguments. */ getComponentOpts?: (path: string[], args: unknown) => Partial; replacementImplementations?: Record object>; } /** * Recursively walks an SDK instance and returns a proxy whose *functions* * are GenSX components and whose *objects* are wrapped proxies. */ export declare function wrap(sdk: T, opts?: WrapOptions): T; /** * A class decorator that wraps all methods of a class into GenSX components. * This allows you to use any class as a collection of GenSX components. * * Compatible with both legacy experimental decorators and the new ECMAScript decorator proposal. * * @param options Optional configuration for the wrapper * @returns A class decorator function * * @example * ```tsx * // Legacy syntax (experimentalDecorators) * @Wrap() * class Calculator { * add(input: { a: number; b: number }) { * return input.a + input.b; * } * } * * // New syntax (ECMAScript decorators) * @Wrap() * class Calculator { * add(input: { a: number; b: number }) { * return input.a + input.b; * } * } * ``` */ export declare function Wrap(options?: WrapOptions): object>(target: T, context?: ClassDecoratorContext) => T; //# sourceMappingURL=wrap.d.ts.map