export type RagMediaSkipReason = 'unsupported-type' | 'too-large' | 'empty-text';
/** Emitted on `agora:rag:media.ingested` once a media file's chunks are embedded + upserted. */
export interface RagMediaIngestedPayload {
    mediaId: string;
    ownerType?: string;
    ownerId?: string;
    collection?: string;
    tenantRef?: string;
    chunks: number;
}
/** Emitted on `agora:rag:media.removed` when a media document's chunks are dropped from the store. */
export interface RagMediaRemovedPayload {
    mediaId: string;
}
/** Emitted on `agora:rag:media.skipped` when a file is not indexed (unsupported/too-large/empty). */
export interface RagMediaSkippedPayload {
    mediaId: string;
    contentType: string;
    reason: RagMediaSkipReason;
}
/** Emitted on `agora:rag:media.failed` when an ingestion throws (bytes fetch / embed / upsert). */
export interface RagMediaFailedPayload {
    mediaId: string;
    error: string;
}
/** Maps each event name to its payload type, so {@link publishRagMedia} is checked at the call site. */
export interface RagMediaDiagnosticPayloads {
    'media.ingested': RagMediaIngestedPayload;
    'media.removed': RagMediaRemovedPayload;
    'media.skipped': RagMediaSkippedPayload;
    'media.failed': RagMediaFailedPayload;
}
export type RagMediaDiagnosticEvent = keyof RagMediaDiagnosticPayloads;
/**
 * Publish a rag-media event on `agora:rag:<event>` via the structural diagnostics slot. No-op when
 * diagnostics isn't installed (the slot is empty) — and it never throws back into an ingestion.
 */
export declare function publishRagMedia<E extends RagMediaDiagnosticEvent>(event: E, payload: RagMediaDiagnosticPayloads[E]): void;
export declare function publishRagMediaIngested(payload: RagMediaIngestedPayload): void;
export declare function publishRagMediaRemoved(payload: RagMediaRemovedPayload): void;
export declare function publishRagMediaSkipped(payload: RagMediaSkippedPayload): void;
export declare function publishRagMediaFailed(payload: RagMediaFailedPayload): void;
//# sourceMappingURL=diagnostics.d.ts.map