import type { ApplicationService } from '@adonisjs/core/types'; import { type Route } from '@adonisjs/core/http'; import { type Edge } from 'edge.js'; import type Livewire from '../src/livewire.js'; import { type Constructor } from '../src/types.js'; declare module '@adonisjs/core/http' { interface LivewireRoute = any> extends Route { /** * Enable lazy loading for full-page component (loads on viewport intersection via x-intersect) */ lazy(options?: { isolate?: boolean; }): this; /** * Enable deferred loading for full-page component (loads on page init via x-init) */ defer(options?: { isolate?: boolean; }): this; } interface Router { livewire: (pattern: string, component?: string | undefined, params?: object | Record | undefined) => LivewireRoute; } } declare module '@adonisjs/core/http' { interface HttpContext { view: ReturnType; } } declare module '@adonisjs/core/types' { interface ContainerBindings { livewire: Livewire; } } export default class LivewireProvider { protected app: ApplicationService; constructor(app: ApplicationService); boot(): Promise; register(): Promise; }