import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent"; import type { ProviderHeaders } from "@earendil-works/pi-ai"; export interface CodexAgentRelationshipService { protocol: 1; bind(ctx: ExtensionContext, input: unknown): CodexAgentRelationship; cacheAffinityId(ctx: ExtensionContext): string; } export declare function registerCodexAgentRelationships(pi: ExtensionAPI): void; export declare function connectCodexAgentRelationships(pi: ExtensionAPI): { readonly service: CodexAgentRelationshipService | undefined; dispose(): void; }; /** Parent linkage and classification are independent of context sharing. */ export interface CodexAgentRelationship { parentThreadId?: string; subagentKind?: string; /** Optional routing affinity, not a native thread or shared-history identity. */ cacheAffinityId?: string; } export declare function codexAgentRelationship(ctx: Pick): CodexAgentRelationship | undefined; export declare function bindCodexAgentRelationship(pi: ExtensionAPI, ctx: ExtensionContext, input: unknown): CodexAgentRelationship; export declare function relationshipTurnMetadata(ctx: Pick): Record; export declare function rewriteRelationshipHeaders(headers: ProviderHeaders, ctx: ExtensionContext): void; export declare function rewriteRelationshipPayload(payload: unknown, ctx: ExtensionContext): unknown;