import { HttpClient } from '../utils/index.js'; import type { ProductStixResponse, SearchProductsStixRequest, SearchProductsStixResponse, SearchProductsRequest, SearchProductsResponse, SearchProductResponse, TrussClientConfig } from '../types/index.js'; export declare class SearchService { protected readonly http: HttpClient; constructor(config: Required); /** * Search products with advanced filtering and date range support * * @param params - Product search parameters including date filtering * @returns Promise resolving to product search results * * @example * ```typescript * const products = await client.search.products({ * filterExpression: "category = 'Malware' AND source = 'Test Source'", * startDate: '2024-01-01', * endDate: '2024-12-31', * }); * ``` */ products(params: SearchProductsRequest): Promise; /** * Fetch every product matching a search by following page-based pagination. */ productsAll(params: SearchProductsRequest, options?: { maxPages?: number; }): Promise; /** * Iterate products one at a time. This is useful for ingestion jobs and agents * that want to stream results into their own processing loop. */ /** * Fetch one product as JSON (numeric id or `truss_prod_id` ULID string). */ product(productId: number | string): Promise; iterProducts(params: SearchProductsRequest, options?: { maxPages?: number; }): AsyncGenerator; /** * Fetch a product as a STIX bundle * * @param productId - The ID of the product to fetch * @returns Promise resolving to the product as a STIX bundle */ productStix(productId: number | string): Promise; /** * Search products as a STIX bundle * * @param params - The parameters for the search * @returns Promise resolving to the search results as a STIX bundle */ productsStix(params: SearchProductsStixRequest): Promise; private normalizeProductSearch; } //# sourceMappingURL=search.d.ts.map