import type { ReferenceParams } from '@blocksuite/affine-model'; import { createIdentifier } from '@blocksuite/global/di'; import type { ExtensionType } from '@blocksuite/store'; export interface QuickSearchService { openQuickSearch: () => Promise; } export type QuickSearchResult = | { docId: string; params?: ReferenceParams; } | { externalUrl: string; } | null; export const QuickSearchProvider = createIdentifier( 'AffineQuickSearchService' ); export function QuickSearchExtension( quickSearchService: QuickSearchService ): ExtensionType { return { setup: di => { di.addImpl(QuickSearchProvider, quickSearchService); }, }; }