import type { MachinatChannel } from '@machinat/core'; import type { MarshallableInstance } from '@machinat/core/base/Marshaler'; import type { ConnectionTarget, UserTarget, TopicTarget } from '@machinat/websocket'; declare type ConnectionValue = { server: string; id: string; }; export declare class WebviewConnection implements MachinatChannel, ConnectionTarget, MarshallableInstance { static typeName: string; static fromJSONValue({ id, server }: ConnectionValue): WebviewConnection; platform: "webview"; type: "connection"; serverId: string; id: string; constructor(serverId: string, id: string); get uid(): string; toJSONValue(): ConnectionValue; typeName(): string; } declare type UserChannelValue = { user: string; }; export declare class WebviewUserChannel implements MachinatChannel, UserTarget, MarshallableInstance { static typeName: string; static fromJSONValue({ user }: UserChannelValue): WebviewUserChannel; platform: "webview"; type: "user"; userUid: string; constructor(userUid: string); get uid(): string; toJSONValue(): UserChannelValue; typeName(): string; } declare type TopicValue = { name: string; }; export declare class WebviewTopicChannel implements MachinatChannel, TopicTarget, MarshallableInstance { static typeName: string; static fromJSONValue({ name }: TopicValue): WebviewTopicChannel; platform: "webview"; type: "topic"; name: string; constructor(name: string); get uid(): string; toJSONValue(): TopicValue; typeName(): string; } export {};