import { type V3SearchOptions } from "./everything-sdk-v3.js"; export declare class ValidationError extends Error { readonly errorCode: string; constructor(message: string, errorCode: string); } export declare const Limits: { readonly MAX_QUERY_LENGTH: 4000; readonly MAX_PATH_LENGTH: 4096; readonly MAX_RESULTS: 10000; readonly MAX_OFFSET: 100000; }; export declare function validateQuery(query: unknown): asserts query is string; export declare function validatePath(p: unknown): asserts p is string; export type Backend = "v3-1.5" | "v1-1.4"; export interface UnifiedSearchOptions { query: string; matchCase?: boolean; matchWholeWord?: boolean; matchPath?: boolean; regex?: boolean; max?: number; offset?: number; sort?: V3SearchOptions["sort"]; includeSize?: boolean; includeDates?: boolean; includeExtension?: boolean; includeAttributes?: boolean; includeSnippet?: boolean; /** Force the backend to use. Default: auto (v3 first, fall back to v1 unless snippet requested). */ backend?: Backend | "auto"; } export interface UnifiedSearchResult { fullPath: string; fileName: string; parentPath: string; type: "file" | "folder" | "volume"; size?: number; dateModified?: string | null; dateCreated?: string | null; dateAccessed?: string | null; extension?: string; attributes?: number; snippet?: string; } export interface UnifiedSearchResponse { backend: Backend; version: string; totalResults: number; returnedResults: number; results: UnifiedSearchResult[]; } export declare function unifiedSearch(options: UnifiedSearchOptions): Promise; export declare function getFileInfo(fullPath: string): Promise; export declare function getStatus(): Promise<{ v3: { available: boolean; version?: string; dbLoaded?: boolean; error?: string; }; v1: { available: boolean; version?: string; dbLoaded?: boolean; error?: string; }; }>;