/** Plaintext endpoint protocol. Identity and authority come from authenticated transport. */ export declare const CANON_ENDPOINT_PROTOCOL: "canon.endpoint.v1"; export interface EndpointPreconditions { conversationId?: string; membershipRevision?: number; admissionId?: string; targetAdmissionId?: string; } export interface EndpointOperationRequest { protocol: typeof CANON_ENDPOINT_PROTOCOL; operationId: string; installationId: string; action: string; /** Agent ownership generation selected when authored; absent for humans. */ ownershipVersion?: number; envelope?: Record; preconditions?: EndpointPreconditions; body: { encoding: 'json'; value: Record; }; } export interface EndpointOperationError { code: string; message: string; status?: number; retryable?: boolean; retryAfterMs?: number; } export type EndpointReceiptStatus = 'pending' | 'succeeded' | 'rejected' | 'uncertain'; export type EndpointResultReference = { kind: 'interaction'; conversationId: string; interactionKind: 'input' | 'approval' | 'card' | 'plan'; requestId: string; operationKey: string; } | { kind: 'upload'; uploadId: string; } | { kind: 'voice'; conversationId: string; sessionId: string; }; export interface EndpointOperationReceipt { protocol: typeof CANON_ENDPOINT_PROTOCOL; operationId: string; installationId: string; action: string; status: EndpointReceiptStatus; result?: T; /** Sensitive/bearer results are hydrated for the response, never journaled. */ resultReference?: EndpointResultReference; /** Transient hydration failure: the durable mutation remains succeeded. */ resultError?: EndpointOperationError; error?: EndpointOperationError; createdAt: string; updatedAt: string; } export interface EndpointQueryRequest { protocol: typeof CANON_ENDPOINT_PROTOCOL; query: string; parameters: Record; } export interface EndpointQueryResponse { protocol: typeof CANON_ENDPOINT_PROTOCOL; result: T; } /** Durable application cursors differ from the live transport's reconnect token. */ export interface EndpointEvent { id: string; kind: string; conversationId?: string; revision?: number; cursor?: string; durable: boolean; data: Record; } export interface EndpointCapabilities { protocol: typeof CANON_ENDPOINT_PROTOCOL; actions: string[]; queries: string[]; maintenance: boolean; } export declare const ENDPOINT_ID_PATTERN: RegExp; export declare const ENDPOINT_ACTION_PATTERN: RegExp; export declare function isEndpointOperationRequest(value: unknown): value is EndpointOperationRequest; export declare function isEndpointOperationReceipt(value: unknown): value is EndpointOperationReceipt;