import type { LocationQuery } from '../location-search.js'; import type { ProfileService } from './profile-service.js'; import type { ArkmeCachedQueryResult, ArkmeImageSearchResult, ArkmeRecordSearchResult, ArkmeRecordingSearchResult, ArkmeSearchHistoryResult, ArkmeSearchSceneKind } from '../types.js'; import { MediaService } from './media-service.js'; import { RecordService } from './record-service.js'; import { SourceService } from './source-service.js'; import { ServiceRuntime } from './service.js'; import { ArkmePrivacyVisibilityService } from './privacy-visibility.js'; export declare class SearchService { private readonly runtime; private readonly record; private readonly media; private readonly source?; private readonly privacy; private readonly profile?; localDshQuery?: () => unknown; articleActionRef?: (raw: Record, sourceRef: string, signal?: AbortSignal) => Promise; constructor(runtime: ServiceRuntime, record: RecordService, media: MediaService, source?: SourceService | undefined, privacy?: ArkmePrivacyVisibilityService, profile?: ProfileService | undefined); searchLocations(query: LocationQuery, signal?: AbortSignal): Promise; searchRecords(options: { query: string; limit: number; beforeMillis?: number; syncAll?: boolean; signal?: AbortSignal; }): Promise; searchRemote(options: { query: string; limit: number; cursor?: string; searchScope?: 'global' | 'topic' | 'chat_session'; sourceUid?: string; sourceRef?: string; signal?: AbortSignal; }): Promise; /** Query the canonical record-tag projection used by Flutter's tag search. */ searchTagRecords(options: { normalizedTag: string; limit: number; cursorSendAt?: number; cursorRecordUid?: string; signal?: AbortSignal; }): Promise; searchFiles(options: { query?: string; limit: number; cursor?: string; signal?: AbortSignal; }): Promise; private withAudioMediaRefs; searchHistory(limit?: number): Promise; createSearchHistory(keyword: string): Promise; searchScene(options: { scene: ArkmeSearchSceneKind; articleScope?: import('../types.js').ArkmeLongArticleBrowseScope; limit: number; cursor?: string; searchScope?: 'global' | 'topic' | 'chat_session'; sourceUid?: string; sourceRef?: string; signal?: AbortSignal; }): Promise; private searchScope; private withNavigationTargets; /** Build the desktop image library from the mixed image/video scene. */ searchImages(options: { limit: number; cursor?: string; signal?: AbortSignal; }): Promise; searchRecordings(options: { query: string; limit: number; cursor?: string; signal?: AbortSignal; }): Promise; private recordSearchResult; private searchRecordItem; private searchSourceAggregate; } //# sourceMappingURL=search-service.d.ts.map