@ai-growth/nextjs
Version:
Seamlessly integrate Sanity CMS with Next.js applications for automated blog routing and rendering
62 lines • 2.44 kB
TypeScript
import { type TemplateRegistry, type TemplateComponent } from '../components/CmsProvider';
/**
* Configuration options for template registry
*/
export interface TemplateRegistryConfig {
includeDefaultTemplates?: boolean;
includeWildcardPatterns?: boolean;
customTemplates?: TemplateRegistry;
defaultTemplate?: TemplateComponent;
}
/**
* Default template registry type
*/
export interface DefaultTemplateRegistry extends TemplateRegistry {
post: TemplateComponent;
page: TemplateComponent;
blog: TemplateComponent;
'blog.*': TemplateComponent;
default: TemplateComponent;
}
/**
* Create a default template registry with common content types
*
* @param config Configuration options for the registry
* @returns Template registry with default templates
*/
export declare function createDefaultTemplateRegistry(config?: TemplateRegistryConfig): DefaultTemplateRegistry;
/**
* Create a minimal template registry with just the default template
*
* @param defaultTemplate The template to use as default (optional)
* @returns Minimal template registry
*/
export declare function createMinimalTemplateRegistry(defaultTemplate?: TemplateComponent): TemplateRegistry;
/**
* Create a comprehensive template registry with all available templates
*
* @param customTemplates Additional custom templates to include
* @returns Comprehensive template registry
*/
export declare function createComprehensiveTemplateRegistry(customTemplates?: TemplateRegistry): TemplateRegistry;
/**
* Utility function to extend an existing template registry
*
* @param existingRegistry The existing template registry
* @param extensions Additional templates to add
* @returns Extended template registry
*/
export declare function extendTemplateRegistry(existingRegistry: TemplateRegistry, extensions: TemplateRegistry): TemplateRegistry;
/**
* Utility function to create a template registry for specific content types
*
* @param contentTypes Array of content types to create templates for
* @param templateComponent The template component to use for all types
* @returns Template registry with specified content types
*/
export declare function createContentTypeRegistry(contentTypes: string[], templateComponent?: TemplateComponent): TemplateRegistry;
/**
* Default export - the standard template registry
*/
export default createDefaultTemplateRegistry;
//# sourceMappingURL=templateRegistry.d.ts.map