/** * Exclusions resource client. * * Wraps all /v1/exclusions endpoints: * - list GET /v1/exclusions * - get GET /v1/exclusions/:exclusionId * - check POST /v1/exclusions/check (bulk compliance) * - stats GET /v1/exclusions/stats * - paginate auto-paginates over the list endpoint */ import type { HttpClient, ParsedResponse } from '../http.cjs'; import type { Exclusion, ExclusionsStats, ListExclusionsParams, BulkComplianceCheckParams, ComplianceCheckResult } from '../types/exclusions.cjs'; export declare class ExclusionsResource { private readonly http; constructor(http: HttpClient); /** * Search and filter the SAM.gov exclusions database. * * @param params Filter and pagination parameters. * * @example * ```ts * const result = await client.exclusions.list({ uei: 'ABCDEF123456' }); * ``` */ list(params?: ListExclusionsParams): Promise>; /** * Get a single exclusion record by its unique ID. * * @param exclusionId Internal exclusion identifier. * @throws {NotFoundError} If the exclusion record does not exist. */ get(exclusionId: string): Promise>; /** * Bulk compliance check — verify up to 100 entities against the exclusions database. * * Each entity must include at least one of: `uei`, `cage`, or `name`. * When `fuzzyMatch` is true (default), name matching uses trigram similarity. * * @param params List of entities and fuzzy-match flag. * @returns Per-entity exclusion status with match confidence scores. * @throws {ValidationError} If more than 100 entities are provided. * * @example * ```ts * const result = await client.exclusions.check({ * entities: [ * { uei: 'ABCDEF123456' }, * { name: 'Acme Corporation' }, * ], * }); * for (const item of result.data) { * console.log(item.input.name, '->', item.excluded ? 'EXCLUDED' : 'OK'); * } * ``` */ check(params: BulkComplianceCheckParams): Promise>; /** * Get aggregated exclusion statistics. * * @example * ```ts * const stats = await client.exclusions.stats(); * console.log('Total active exclusions:', stats.data.active); * ``` */ stats(): Promise>; /** * Async generator that automatically paginates over all matching exclusions. * * @param params Same filter parameters as `list()`. Do not pass `page`. * * @example * ```ts * for await (const page of client.exclusions.paginate({ agency: 'DEPT OF DEFENSE' })) { * for (const exc of page.data) { * console.log(exc.name, exc.effectiveDate); * } * } * ``` */ paginate(params: Omit): AsyncGenerator>; } //# sourceMappingURL=exclusions.d.ts.map