import { CueAuth } from './auth'; import { AvailableFiltersResponse, IndexAppliedFilters, IndexSearchRequest, IndexSearchResponse } from './models'; export declare class CueIndexApi { private readonly _auth; private readonly _gatewayUrl; constructor(_auth: CueAuth, _gatewayUrl: string); search(input: string, projectId: string, opts?: Omit): Promise; lookup(input: string, projectId: string, opts?: { aggregate?: boolean; }): Promise; /** * Discover which filter options are available in the document set that survives * the provided `applied` filters. Call with no `applied` argument (or an empty * object) to retrieve all options for the project. * * Drives adaptive filter UIs: after the user sets filter N, pass the active * filters to this method and use the response to constrain the options shown * for filter N+1. * * Requires the `/index/available-filters` gateway endpoint. */ availableFilters(projectId: string, applied?: IndexAppliedFilters): Promise; /** * Forces a full binary rebuild of the project's QLever index. Super-admin only * (the gateway/accessor rejects non-superadmin callers). Streams NDJSON * progress lines from the backend; `onProgress` (if given) is called with * each intermediate message. Resolves with the final message once the * rebuild finishes, or rejects if it fails. */ rebuild(projectId: string, onProgress?: (message: string) => void): Promise; /** * Forces a full re-scan of every project's QLever stats (materialized views, * index size, cue-meta) and persists the result, bypassing the normal cache * TTL. Super-admin only. This refreshes the shared stats aggregate for ALL * projects, not just the current one — there's no per-project variant since * the aggregate is written as a single file. Resolves with a summary message. */ refreshStats(): Promise; }