export interface NixKitIntegrationContext { root: string; command: "dev" | "build" | "preview" | "start" | "check" | "routes" | "doctor"; } export interface NixKitIntegration { name: string; config?(config: Record, context: NixKitIntegrationContext): void | Promise; routes?(manifest: unknown, context: NixKitIntegrationContext): void | Promise; request?(request: Request, context: NixKitIntegrationContext): void | Response | Promise; render?(result: { html: string; }, context: NixKitIntegrationContext): void | Promise; build?(result: unknown, context: NixKitIntegrationContext): void | Promise; clientEntry?(source: string, context: NixKitIntegrationContext): string | void | Promise; error?(error: unknown, context: NixKitIntegrationContext): void | Promise; } export declare function runIntegrationHook>(integrations: readonly NixKitIntegration[], hook: K, args: Parameters>): Promise; export { type I18nIntegration, type AuthIntegration, type QueryIntegration, type TestingIntegration, registerIntegration, getI18nIntegration, getAuthIntegration, getQueryIntegration, getTestingIntegration, getCustomIntegrations, clearIntegrations, } from "./hooks.js";