import { IFileSystemCaptureLoaderConfig } from './capture-loader'; import { CaptureId } from '@useoptic/saas-types'; import { IHttpInteraction, IInteractionBatch } from '@useoptic/optic-domain'; export interface FilterPredicate { (item: T): boolean; } export declare type InteractionIteratorItem = { hasMoreInteractions: false; interaction: null; skippedInteractionsCounter: bigint; diffedInteractionsCounter: bigint; } | { hasMoreInteractions: true; interaction: { context: { batchId: string; index: number; }; value: IHttpInteraction; } | null; skippedInteractionsCounter: bigint; diffedInteractionsCounter: bigint; }; export declare function CaptureInteractionIterator(config: IFileSystemCaptureLoaderConfig, filter: FilterPredicate): AsyncGenerator; export declare function BatchInteractionIterator(batchFilePath: string): AsyncGenerator; export declare function loadBatchFile(batchFilePath: string): Promise; export declare type InteractionPointer = string; export interface IInteractionPointerConverter { toPointer(interaction: IHttpInteraction, context: C): InteractionPointer; fromPointer(pointer: InteractionPointer): Promise; } export interface LocalCaptureInteractionContext { batchId: string; interactionIndex: number; } export declare class LocalCaptureInteractionPointerConverter implements IInteractionPointerConverter { private config; constructor(config: { captureId: CaptureId; captureBaseDirectory: string; }); fromPointer(pointer: InteractionPointer): Promise; toPointer(interaction: IHttpInteraction, context: LocalCaptureInteractionContext): InteractionPointer; } //# sourceMappingURL=interaction-iterator.d.ts.map