/* Generated by @deepseek-ai/dsh-typert-generator from the Host FaceModel — do not edit. */
import type {
  RemoteResult,
  TypertRemoteContribution,
} from '@deepseek-ai/dsh-typert-protocol'
import type { ModelCatalog, SessionAttachmentRequest, SessionAttachmentValue, SessionCancelRequest, SessionCancelValue, SessionControlFrame, SessionCreateRequest, SessionCreateValue, SessionFollowFrame, SessionFollowRequest, SessionForkRequest, SessionForkValue, SessionListRequest, SessionListValue, SessionOpenWorkspacePathRequest, SessionOpenWorkspacePathValue, SessionPage, SessionPageRequest, SessionPromptRequest, SessionPromptValue, SessionRenameRequest, SessionRenameValue, SessionSearchRequest, SessionSearchValue, SessionSelectModelRequest, SessionSelectModelValue, SessionUpdateQueueRequest, SessionUpdateQueueValue, SkillListRequest, SkillListValue } from '@deepseek-ai/dsh-api-session-controller/types'
import type { FileReferenceCandidate } from '@deepseek-ai/dsh-file-reference/types'
import type { SessionId } from '@deepseek-ai/dsh-session/types'

declare module '@deepseek-ai/dsh-typert-protocol' {
  interface TypertRemoteNamespace$66696c655265666572656e636573 {
    list: (agentId: SessionId, query: string, signal?: AbortSignal) => Promise<RemoteResult<FileReferenceCandidate[]>>
  }
  interface TypertRemoteNamespace$73657373696f6e {
    attachment: (request: SessionAttachmentRequest) => Promise<RemoteResult<SessionAttachmentValue>>
    cancel: (request: SessionCancelRequest) => Promise<RemoteResult<SessionCancelValue>>
    canOpenWorkspacePath: () => Promise<RemoteResult<boolean>>
    control: (signal?: AbortSignal) => AsyncIterable<SessionControlFrame>
    create: (request: SessionCreateRequest) => Promise<RemoteResult<SessionCreateValue>>
    follow: (request: SessionFollowRequest, signal?: AbortSignal) => AsyncIterable<SessionFollowFrame>
    fork: (request: SessionForkRequest) => Promise<RemoteResult<SessionForkValue>>
    list: (_request: SessionListRequest, signal?: AbortSignal) => Promise<RemoteResult<SessionListValue>>
    modelCatalog: () => Promise<RemoteResult<ModelCatalog>>
    openWorkspacePath: (request: SessionOpenWorkspacePathRequest, signal?: AbortSignal) => Promise<RemoteResult<SessionOpenWorkspacePathValue>>
    page: (request: SessionPageRequest, signal?: AbortSignal) => Promise<RemoteResult<SessionPage>>
    prompt: (request: SessionPromptRequest, signal?: AbortSignal) => Promise<RemoteResult<SessionPromptValue>>
    rename: (request: SessionRenameRequest) => Promise<RemoteResult<SessionRenameValue>>
    search: (request: SessionSearchRequest, signal?: AbortSignal) => Promise<RemoteResult<SessionSearchValue>>
    selectModel: (request: SessionSelectModelRequest) => Promise<RemoteResult<SessionSelectModelValue>>
    updateQueue: (request: SessionUpdateQueueRequest) => Promise<RemoteResult<SessionUpdateQueueValue>>
  }
  interface TypertRemoteNamespace$736b696c6c73 {
    list: (request: SkillListRequest, signal?: AbortSignal) => Promise<RemoteResult<SkillListValue>>
  }
  interface TypertRemoteMap {
    'fileReferences/list': (agentId: SessionId, query: string, signal?: AbortSignal) => Promise<RemoteResult<FileReferenceCandidate[]>>
    'session/attachment': (request: SessionAttachmentRequest) => Promise<RemoteResult<SessionAttachmentValue>>
    'session/cancel': (request: SessionCancelRequest) => Promise<RemoteResult<SessionCancelValue>>
    'session/canOpenWorkspacePath': () => Promise<RemoteResult<boolean>>
    'session/control': (signal?: AbortSignal) => AsyncIterable<SessionControlFrame>
    'session/create': (request: SessionCreateRequest) => Promise<RemoteResult<SessionCreateValue>>
    'session/follow': (request: SessionFollowRequest, signal?: AbortSignal) => AsyncIterable<SessionFollowFrame>
    'session/fork': (request: SessionForkRequest) => Promise<RemoteResult<SessionForkValue>>
    'session/list': (_request: SessionListRequest, signal?: AbortSignal) => Promise<RemoteResult<SessionListValue>>
    'session/modelCatalog': () => Promise<RemoteResult<ModelCatalog>>
    'session/openWorkspacePath': (request: SessionOpenWorkspacePathRequest, signal?: AbortSignal) => Promise<RemoteResult<SessionOpenWorkspacePathValue>>
    'session/page': (request: SessionPageRequest, signal?: AbortSignal) => Promise<RemoteResult<SessionPage>>
    'session/prompt': (request: SessionPromptRequest, signal?: AbortSignal) => Promise<RemoteResult<SessionPromptValue>>
    'session/rename': (request: SessionRenameRequest) => Promise<RemoteResult<SessionRenameValue>>
    'session/search': (request: SessionSearchRequest, signal?: AbortSignal) => Promise<RemoteResult<SessionSearchValue>>
    'session/selectModel': (request: SessionSelectModelRequest) => Promise<RemoteResult<SessionSelectModelValue>>
    'session/updateQueue': (request: SessionUpdateQueueRequest) => Promise<RemoteResult<SessionUpdateQueueValue>>
    'skills/list': (request: SkillListRequest, signal?: AbortSignal) => Promise<RemoteResult<SkillListValue>>
  }
  interface TypertRemoteNamespaceMap {
    'fileReferences': TypertRemoteNamespace$66696c655265666572656e636573
    'session': TypertRemoteNamespace$73657373696f6e
    'skills': TypertRemoteNamespace$736b696c6c73
  }
  interface TypertRemoteScopeMap {
    'agent:fileReferences/list': (query: string, signal?: AbortSignal) => Promise<RemoteResult<FileReferenceCandidate[]>>
  }
}

export declare const TYPERT_REMOTE: TypertRemoteContribution
export default TYPERT_REMOTE
//# sourceMappingURL=typert.remote-client.d.ts.map
