import type { DataOmActivationPart, DataOmBufferingEndPart, DataOmBufferingFailedPart, DataOmBufferingStartPart, DataOmObservationEndPart, DataOmObservationFailedPart, DataOmObservationStartPart, DataOmThreadUpdatePart, ObservationMarkerConfig, OmOperationType } from './types.js';
/**
 * Create a start marker for when observation begins.
 */
export declare function createObservationStartMarker(params: {
    cycleId: string;
    operationType: 'observation' | 'reflection';
    tokensToObserve: number;
    recordId: string;
    threadId: string;
    threadIds: string[];
    config: ObservationMarkerConfig;
}): DataOmObservationStartPart;
/**
 * Create an end marker for when observation completes successfully.
 */
export declare function createObservationEndMarker(params: {
    cycleId: string;
    operationType: 'observation' | 'reflection';
    startedAt: string;
    tokensObserved: number;
    observationTokens: number;
    observations?: string;
    currentTask?: string;
    suggestedResponse?: string;
    recordId: string;
    threadId: string;
}): DataOmObservationEndPart;
/**
 * Create a failed marker for when observation fails.
 */
export declare function createObservationFailedMarker(params: {
    cycleId: string;
    operationType: 'observation' | 'reflection';
    startedAt: string;
    tokensAttempted: number;
    error: string;
    recordId: string;
    threadId: string;
}): DataOmObservationFailedPart;
/**
 * Create a start marker for when async buffering begins.
 */
export declare function createBufferingStartMarker(params: {
    cycleId: string;
    operationType: OmOperationType;
    tokensToBuffer: number;
    recordId: string;
    threadId: string;
    threadIds: string[];
    config: ObservationMarkerConfig;
}): DataOmBufferingStartPart;
/**
 * Create an end marker for when async buffering completes successfully.
 */
export declare function createBufferingEndMarker(params: {
    cycleId: string;
    operationType: OmOperationType;
    startedAt: string;
    tokensBuffered: number;
    bufferedTokens: number;
    recordId: string;
    threadId: string;
    observations?: string;
}): DataOmBufferingEndPart;
/**
 * Create a failed marker for when async buffering fails.
 */
export declare function createBufferingFailedMarker(params: {
    cycleId: string;
    operationType: OmOperationType;
    startedAt: string;
    tokensAttempted: number;
    error: string;
    recordId: string;
    threadId: string;
}): DataOmBufferingFailedPart;
/**
 * Create an activation marker for when buffered observations are activated.
 */
export declare function createActivationMarker(params: {
    cycleId: string;
    operationType: OmOperationType;
    chunksActivated: number;
    tokensActivated: number;
    observationTokens: number;
    messagesActivated: number;
    recordId: string;
    threadId: string;
    generationCount: number;
    observations?: string;
    triggeredBy?: 'threshold' | 'ttl' | 'provider_change';
    lastActivityAt?: number;
    ttlExpiredMs?: number;
    previousModel?: string;
    currentModel?: string;
    config: ObservationMarkerConfig;
}): DataOmActivationPart;
/**
 * Create a thread update marker when the observer suggests a new thread title.
 */
export declare function createThreadUpdateMarker(params: {
    cycleId: string;
    threadId: string;
    oldTitle?: string;
    newTitle: string;
}): DataOmThreadUpdatePart;
//# sourceMappingURL=markers.d.ts.map