export interface GenericVSCodeWrapper { postMessage(message: TWebviewMessage): void; onMessage(callback: (message: TExtensionMessage) => void): () => void; getState(): unknown; setState(newState: unknown): void; } /** * Create a proxy function for use in the webview that "calls" a function in the extension host * (which must be a message defined in {@link WebviewMessage}) and returns a promise for the result * (which must be a message defined in {@link ExtensionMessage}). * * @template TWebviewMessage The webview protocol (such as {@link WebviewMessage}). * @template TExtensionMessage The extension host protocol (such as {@link ExtensionMessage}). */ export declare function createExtensionAPIProxyInWebview(api: GenericVSCodeWrapper, requestName: TRequestName, responseName: TResponseName): (params: Omit, 'command'>) => Promise, 'type'>>; export interface GenericWebviewAPIWrapper { postMessage(message: TExtensionMessage): void; postError(error: Error): void; onMessage(callback: (message: TWebviewMessage) => void): () => void; } /** * Create a handler for use in the extension host that responds to "calls" from a webview proxy * function created by {@link createExtensionAPIProxyInWebview}. * * @template TWebviewMessage The webview protocol (such as {@link WebviewMessage}). * @template TExtensionMessage The extension host protocol (such as {@link ExtensionMessage}). */ export declare function handleExtensionAPICallFromWebview(api: GenericWebviewAPIWrapper, requestName: TRequestName, responseName: TResponseName, handler: (params: Omit, 'command'>) => Promise, 'type'>>): { dispose: () => void; }; //# sourceMappingURL=proxy.d.ts.map