import type { OpenClawPluginApi } from "openclaw/plugin-sdk/core"; export declare const XWORKMATE_PLUGIN_ID = "openclaw-multi-session-plugins"; export declare const XWORKMATE_SESSION_EXTENSION_NAMESPACE = "xworkmate.sessionMapping"; export type XWorkmateTaskMetadataV1 = { schemaVersion: 1; appThreadKey: string; openclawSessionKey?: string; expectedArtifactDirs: string[]; requestId?: string; externalTaskId?: string; createdAt: string; }; export type XWorkmateSessionMappingSource = "session_start" | "bridge_prepare"; export type XWorkmateSessionMappingV1 = { schemaVersion: 1; appThreadKey: string; openclawSessionKey: string; expectedArtifactDirs: string[]; createdAt: string; updatedAt: string; source: XWorkmateSessionMappingSource; }; export type XWorkmateTaskLookupErrorCode = "mapping_not_found" | "task_not_found" | "no_native_task_record" | "conflict" | "invalid_lookup"; export type XWorkmateTaskLookupError = { ok: false; code: XWorkmateTaskLookupErrorCode; message: string; mapping?: XWorkmateSessionMappingV1; expectedArtifactDirs?: string[]; }; export type XWorkmateTaskStore = Record; export declare function createXWorkmateTaskStore(): XWorkmateTaskStore; export declare function registerXWorkmateSessionExtension(api: OpenClawPluginApi): void; export declare function registerXWorkmateDetachedTaskRuntime(_api: OpenClawPluginApi, _taskStore: XWorkmateTaskStore): void; export declare function recordXWorkmateSessionMapping(input: { api: OpenClawPluginApi; taskStore?: XWorkmateTaskStore; params: Record; artifactScope?: string; source?: XWorkmateSessionMappingSource; }): Promise; export declare function normalizeXWorkmateTaskMetadataV1(input: Record): XWorkmateTaskMetadataV1; export declare function normalizeExpectedArtifactDirs(value: unknown): string[]; export declare function upsertXWorkmateSessionMapping(api: OpenClawPluginApi, input: { metadata: XWorkmateTaskMetadataV1; openclawSessionKey: string; source: XWorkmateSessionMappingSource; }): Promise; export declare function readXWorkmateSessionMapping(api: OpenClawPluginApi, lookup: { appThreadKey?: string; openclawSessionKey?: string; }): Promise; export declare function getXWorkmateTaskSnapshot(input: { api: OpenClawPluginApi; taskStore?: XWorkmateTaskStore; params: Record; }): Promise>;