import type { SearchEngineDriver } from '@stacksjs/types'; /** * The search engine driver named by the user's config. * * Still synchronous, and still destructurable - `const { addDocument } = * useSearchEngine()` reads exactly as it did. Every method on the driver already * returned a promise, so until the config settles each one resolves through * {@link driverReady} and behaves the same from the caller's side. Once it has * settled the real member is handed back directly, which keeps the two * synchronous members, `client` and `resetClient`, synchronous. * * Use {@link searchEngineReady} to wait for the driver explicitly. */ export declare function useSearchEngine(): SearchEngineDriver; /** Resolves once the configured driver is loaded and bound. */ export declare function searchEngineReady(): Promise; export declare function useAlgolia(): Promise; export declare function useMeilisearch(): Promise; export declare function useOpensearch(): Promise; export declare function useTypesense(): Promise; export type SearchDriver = 'meilisearch' | 'algolia' | 'opensearch' | 'typesense'; export * from './documents/index';