42 lines
754 B
TypeScript
42 lines
754 B
TypeScript
import type { AstroIntegration } from "@swup/astro";
|
|
|
|
declare global {
|
|
interface Window {
|
|
// type from '@swup/astro' is incorrect
|
|
swup: AstroIntegration;
|
|
pagefind: {
|
|
search: (query: string) => Promise<{
|
|
results: Array<{
|
|
data: () => Promise<SearchResult>;
|
|
}>;
|
|
}>;
|
|
};
|
|
}
|
|
}
|
|
|
|
interface SearchResult {
|
|
url: string;
|
|
meta: {
|
|
title: string;
|
|
};
|
|
excerpt: string;
|
|
content?: string;
|
|
word_count?: number;
|
|
filters?: Record<string, unknown>;
|
|
anchors?: Array<{
|
|
element: string;
|
|
id: string;
|
|
text: string;
|
|
location: number;
|
|
}>;
|
|
weighted_locations?: Array<{
|
|
weight: number;
|
|
balanced_score: number;
|
|
location: number;
|
|
}>;
|
|
locations?: number[];
|
|
raw_content?: string;
|
|
raw_url?: string;
|
|
sub_results?: SearchResult[];
|
|
}
|