/** * Utility functions for directive management and lazy loading */ export declare class DirectiveUtils { /** * Preload specific directives for better performance * @param directiveNames - Array of directive names to preload */ static preloadDirectives(directiveNames: string[]): Promise; /** * Preload all available directives */ static preloadAllDirectives(): Promise; /** * Check if a directive is loaded * @param directiveName - Name of the directive to check */ static isDirectiveLoaded(directiveName: string): boolean; /** * Check if a directive is currently loading * @param directiveName - Name of the directive to check */ static isDirectiveLoading(directiveName: string): boolean; /** * Get all loaded directives */ static getLoadedDirectives(): string[]; /** * Get all registered directives (both loaded and lazy) */ static getRegisteredDirectives(): string[]; /** * Enable debug logging for directive manager */ static enableDebug(): void; /** * Create a loading indicator for elements with lazy directives * @param element - The element to add loading indicator to * @param directiveName - The directive name being loaded */ static addLoadingIndicator(element: Element, directiveName: string): void; /** * Remove loading indicator from element * @param element - The element to remove loading indicator from */ static removeLoadingIndicator(element: Element): void; /** * Get loading state of an element * @param element - The element to check */ static getElementLoadingState(element: Element): string | null; } /** * CSS for directive loading indicators */ export declare const directiveLoadingStyles = "\n .directive-loading {\n position: relative;\n opacity: 0.7;\n pointer-events: none;\n }\n\n .directive-loading::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n width: 20px;\n height: 20px;\n margin: -10px 0 0 -10px;\n border: 2px solid #f3f3f3;\n border-top: 2px solid #3498db;\n border-radius: 50%;\n animation: directive-spin 1s linear infinite;\n z-index: 1000;\n }\n\n @keyframes directive-spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n"; /** * Auto-inject directive loading styles */ export declare function injectDirectiveLoadingStyles(): void; //# sourceMappingURL=utils.d.ts.map