import type { GenerateSearchSectionsOptions, SearchCollectionOptions, SearchResult, Section } from './internal/search.js'; import type { Collections, PageCollections, CollectionQueryBuilder, SurroundOptions, SQLOperator, QueryGroupFunction, ContentNavigationItem } from '@nuxt/content'; import type { MaybeRefOrGetter } from 'vue'; export type { SearchCollectionOptions, SearchResult, GenerateSearchSectionsOptions, Section } from './internal/search.js'; interface ChainablePromise extends Promise { where(field: keyof PageCollections[T] | string, operator: SQLOperator, value?: unknown): ChainablePromise; andWhere(groupFactory: QueryGroupFunction): ChainablePromise; orWhere(groupFactory: QueryGroupFunction): ChainablePromise; order(field: keyof PageCollections[T], direction: 'ASC' | 'DESC'): ChainablePromise; } export declare const queryCollection: (collection: T) => CollectionQueryBuilder; export declare function queryCollectionNavigation(collection: T, fields?: Array): ChainablePromise; export declare function queryCollectionItemSurroundings(collection: T, path: string, opts?: SurroundOptions): ChainablePromise; export declare function queryCollectionSearchSections(collection: T, opts: Omit & { extraFields: K[]; }): ChainablePromise>>; export declare function queryCollectionSearchSections(collection: T, opts?: GenerateSearchSectionsOptions): ChainablePromise; export declare function useSearchCollection(collection: MaybeRefOrGetter, opts?: GenerateSearchSectionsOptions & { immediate?: boolean; }): { status: import("vue").Ref<"error" | "ready" | "idle" | "loading", "error" | "ready" | "idle" | "loading">; search: (query: string, searchOpts?: SearchCollectionOptions) => Promise; init: () => Promise; };