import type { AppendRunFeedbackInput, OwnershipScope, RunFeedbackRecord, RunFeedbackStore } from "./contracts.js"; import type { SecretRedactor } from "./redaction.js"; export declare const DEFAULT_MAX_FEEDBACK_COMMENT_BYTES = 4096; export declare const HARD_MAX_FEEDBACK_COMMENT_BYTES = 16384; export declare const DEFAULT_MAX_FEEDBACK_TAGS = 16; export declare const HARD_MAX_FEEDBACK_TAGS = 64; export declare const DEFAULT_MAX_FEEDBACK_LINKS = 16; export declare const HARD_MAX_FEEDBACK_LINKS = 64; export declare const DEFAULT_MAX_FEEDBACK_METADATA_BYTES = 16384; export declare const HARD_MAX_FEEDBACK_METADATA_BYTES = 65536; export declare const DEFAULT_FEEDBACK_PAGE_SIZE = 100; export declare const HARD_FEEDBACK_PAGE_SIZE = 500; export declare const MAX_FEEDBACK_TAG_LENGTH = 64; export declare const MAX_FEEDBACK_ID_LENGTH = 128; export declare class RunFeedbackError extends Error { readonly code: string; constructor(message: string, code?: string); } export interface RunFeedbackRun extends OwnershipScope { readonly runId: string; readonly sessionId: string; readonly traceId?: string; } export type RunFeedbackRunResolver = (input: Readonly<{ runId: string; ownership: OwnershipScope; signal?: AbortSignal; }>) => RunFeedbackRun | false | undefined | Promise; export interface RunFeedbackLimits { readonly maxCommentBytes?: number; readonly maxTags?: number; readonly maxLinks?: number; readonly maxMetadataBytes?: number; readonly maxPageSize?: number; } export interface PrepareRunFeedbackOptions extends RunFeedbackLimits { readonly resolveRun: RunFeedbackRunResolver; readonly redactor?: SecretRedactor; } export interface MemoryRunFeedbackStoreOptions extends PrepareRunFeedbackOptions { readonly initial?: readonly RunFeedbackRecord[]; } /** Validate, ownership-check, redact, bound, and freeze one feedback record. */ export declare function prepareRunFeedback(input: AppendRunFeedbackInput, options: PrepareRunFeedbackOptions): Promise; /** In-memory implementation with the same validation/ownership semantics as durable adapters. */ export declare function createMemoryRunFeedbackStore(options: MemoryRunFeedbackStoreOptions): RunFeedbackStore; export declare function requireRunFeedbackOwnership(input: OwnershipScope): Required> & OwnershipScope; export declare function runFeedbackPageLimit(limit: number | undefined, maximum?: number): number;