2025-07-25 13:37:52 +02:00

40 lines
1.4 KiB
TypeScript

/// <reference path="../.astro/types.d.ts" />
// Extend the Window interface to include custom properties
declare global {
interface Window {
themeUtils: {
initTheme: () => void;
toggleTheme: () => void;
getStoredTheme: () => string;
};
toolsData: any[];
showToolDetails: (toolName: string, modalType?: string) => void;
hideToolDetails: (modalType?: string) => void;
hideAllToolDetails: () => void;
toggleKbEntry: (entryId: string) => void;
toggleDomainAgnosticSection: (sectionId: string) => void;
restoreAIResults?: () => void;
switchToAIView?: () => void;
clearTagFilters?: () => void;
clearAllFilters?: () => void;
// CONSOLIDATED: Tool utility functions
createToolSlug: (toolName: string) => string;
findToolByIdentifier: (tools: any[], identifier: string) => any | undefined;
isToolHosted: (tool: any) => boolean;
// CONSOLIDATED: Auth utility functions (now in BaseLayout)
checkClientAuth: () => Promise<{authenticated: boolean; authRequired: boolean; expires?: string}>;
requireClientAuth: (callback?: () => void, returnUrl?: string) => Promise<boolean>;
showIfAuthenticated: (selector: string) => Promise<void>;
setupAuthButtons: (selector?: string) => void;
}
}
// Also declare the modules that might not be recognized
declare module 'js-yaml' {
export function load(str: string): any;
}
export {};