1 | declare const DEHYDRATED: unique symbol;
|
2 | declare const HANDLE: unique symbol;
|
3 | export declare type Hydrated<T extends Dehydrated<any>> = T extends Dehydrated<infer U> ? U : never;
|
4 | export declare type Dehydrated<T> = {
|
5 | [DEHYDRATED]: T;
|
6 | };
|
7 | declare const HANDLE_KEY = "--stagehand-function-handle";
|
8 | export declare type Handle = typeof HANDLE;
|
9 | export interface DehydratedHandle {
|
10 | [HANDLE_KEY]: Handle;
|
11 | }
|
12 | export default class FunctionHandleRegistry {
|
13 | private hydrateRemoteFunction;
|
14 | private nextFunctionHandle;
|
15 | private handlesByFunction;
|
16 | private functionsByHandle;
|
17 | constructor(hydrateRemoteFunction: (handle: Handle) => (...params: unknown[]) => unknown);
|
18 | dehydrate<T>(root: T): Dehydrated<T>;
|
19 | rehydrate<T extends Dehydrated<any>>(root: T): Hydrated<T>;
|
20 | lookupFunction(handle: Handle): Function | undefined;
|
21 | lookupHandle(f: Function): Handle | undefined;
|
22 | releaseFunction(f: Function): void;
|
23 | reset(): void;
|
24 | private lookupOrGenerateHandle;
|
25 | private generateHAndle;
|
26 | }
|
27 | export {};
|