/** * Streaming query support for large files (T029-T034) * * Enables memory-efficient processing of large TONL/JSON files */ export interface StreamQueryOptions { /** * Batch size for processing */ batchSize?: number; /** * Filter predicate */ filter?: (item: any) => boolean; /** * Map transform */ map?: (item: any) => any; /** * Skip first N items */ skip?: number; /** * Take only N items */ limit?: number; } /** * Stream query a TONL file line by line * SECURITY FIX: Added path validation to prevent path traversal attacks * * @param filePath - Path to TONL file * @param queryExpression - Query path expression * @param options - Streaming options */ export declare function streamQuery(filePath: string, queryExpression: string, options?: StreamQueryOptions): AsyncGenerator; /** * Stream and aggregate results * * @param filePath - Path to file * @param queryExpression - Query expression * @param aggregator - Aggregation function * @param initialValue - Initial accumulator value */ export declare function streamAggregate(filePath: string, queryExpression: string, aggregator: (acc: T, item: any) => T, initialValue: T): Promise; /** * Stream and count matching items */ export declare function streamCount(filePath: string, queryExpression: string, options?: StreamQueryOptions): Promise; /** * Stream and collect all results (memory limit) */ export declare function streamCollect(filePath: string, queryExpression: string, options?: StreamQueryOptions): Promise; /** * Stream pipeline for complex transformations */ export declare class StreamPipeline { private operations; private filterOps; /** * Add map operation */ map(fn: (item: any) => any): this; /** * Add filter operation */ filter(fn: (item: any) => boolean): this; /** * Execute pipeline on stream */ execute(filePath: string, queryExpression: string): AsyncGenerator; } //# sourceMappingURL=query.d.ts.map