@lineai/gov-deals
Version:
Explore Federal contracts for government building renovations, city hall renovations, courthouse updates, library modernizations, federal building improvement contracts, base housing and facilities upgrades.
47 lines (46 loc) • 1.47 kB
TypeScript
/**
* CSV-based data source for opportunities
* Provides same interface as SAM.gov API but reads from local CSV file
*/
/// <reference types="node" />
import { SamOpportunity, SamOpportunitySearchFilters, SamOpportunitySearchResponse } from '../../types/opportunities';
import { GovDealsPaginationParams } from '../../types/common';
export interface CsvClientOptions {
csvPath: string;
cacheResults?: boolean;
encoding?: BufferEncoding;
}
/**
* CSV-based client that mimics SAM.gov API
*/
export declare class CsvClient {
private csvPath;
private cache;
private cacheResults;
private encoding;
constructor(options: CsvClientOptions);
/**
* Load and parse CSV data
*/
private loadData;
/**
* Search opportunities with filtering and pagination
*/
search(filters?: SamOpportunitySearchFilters, pagination?: GovDealsPaginationParams): Promise<SamOpportunitySearchResponse>;
/**
* Get opportunity by ID
*/
getById(noticeId: string): Promise<SamOpportunity>;
/**
* Get opportunity description (from CSV Description field)
*/
getDescription(noticeId: string): Promise<string>;
/**
* Search for construction opportunities
*/
searchConstruction(additionalFilters?: Partial<SamOpportunitySearchFilters>, pagination?: GovDealsPaginationParams): Promise<SamOpportunitySearchResponse>;
/**
* Clear cache if needed
*/
clearCache(): void;
}