import type { MessageList } from '../agent/message-list/index.js';
import type { IMastraLogger } from '../logger/index.js';
import type { ChunkType } from '../stream/index.js';
import type { MastraModelOutput } from '../stream/base/output.js';
import type { Processor } from './index.js';
/**
 * Implementation of processor state management
 */
export declare class ProcessorState {
    private readonly processorName;
    private accumulatedText;
    customState: Record<string, any>;
    streamParts: ChunkType[];
    constructor(processorName: string);
    addPart(part: ChunkType): void;
}
export declare class ProcessorRunner {
    readonly inputProcessors: Processor[];
    readonly outputProcessors: Processor[];
    private readonly logger;
    private readonly agentName;
    constructor({ inputProcessors, outputProcessors, logger, agentName, }: {
        inputProcessors?: Processor[];
        outputProcessors?: Processor[];
        logger: IMastraLogger;
        agentName: string;
    });
    runOutputProcessors(messageList: MessageList, telemetry?: any): Promise<MessageList>;
    /**
     * Process a stream part through all output processors with state management
     */
    processPart(part: ChunkType, processorStates: Map<string, ProcessorState>): Promise<{
        part: ChunkType | null | undefined;
        blocked: boolean;
        reason?: string;
    }>;
    runOutputProcessorsForStream(streamResult: MastraModelOutput): Promise<ReadableStream<any>>;
    runInputProcessors(messageList: MessageList, telemetry?: any): Promise<MessageList>;
}
//# sourceMappingURL=runner.d.ts.map