/**
 * Creates an AdonisJS assembler hook to automatically generate TypeScript definitions
 * for Inertia.js pages based on the specified framework.
 *
 * This function scans page components in the 'inertia/pages' directory and generates
 * type definitions that map page names to their component props.
 *
 * @param config - Configuration object specifying the frontend framework
 * @param config.framework - The frontend framework ('vue3' or 'react')
 * @param config.source - The path to Inertia pages (default: inertia/pages)
 * @returns Assembler hook object with run method for generating page types
 *
 * @example
 * ```js
 * // In your adonisrc.ts file
 * export default defineConfig({
 *   assembler: {
 *     onBuildStarting: [indexPages({ framework: 'vue3' })]
 *   }
 * })
 * ```
 */
export declare const indexPages: (config: {
    framework: "vue3" | "react";
    source?: string;
}) => {
    /**
     * Executes the page indexing process to generate TypeScript definitions.
     *
     * @param _ - Unused first parameter (assembler context)
     * @param __ - Unused second parameter (hooks instance)
     * @param indexGenerator - The index generator instance used to register the pages type generation
     */
    run(_: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner | import("@adonisjs/assembler").Bundler, __: import("@poppinss/hooks").default<{
        init: [[parent: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner | import("@adonisjs/assembler").Bundler, hooks: import("@poppinss/hooks").default</*elided*/ any>, indexGenerator: import("@adonisjs/assembler/index_generator").IndexGenerator], [parent: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner | import("@adonisjs/assembler").Bundler, hooks: import("@poppinss/hooks").default</*elided*/ any>, indexGenerator: import("@adonisjs/assembler/index_generator").IndexGenerator]];
        fileChanged: [[relativePath: string, absolutePath: string, info: {
            source: "hot-hook" | "watcher";
            hotReloaded: boolean;
            fullReload: boolean;
        }, parent: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner], [relativePath: string, absolutePath: string, info: {
            source: "hot-hook" | "watcher";
            hotReloaded: boolean;
            fullReload: boolean;
        }, parent: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner]];
        fileAdded: [[relativePath: string, absolutePath: string, server: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner], [relativePath: string, absolutePath: string, server: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner]];
        fileRemoved: [[relativePath: string, absolutePath: string, server: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner], [relativePath: string, absolutePath: string, server: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner]];
        devServerStarting: [[server: import("@adonisjs/assembler").DevServer], [server: import("@adonisjs/assembler").DevServer]];
        devServerStarted: [[server: import("@adonisjs/assembler").DevServer, info: {
            port: number;
            host: string;
        }, uiInstructions: import("@poppinss/cliui").Instructions], [server: import("@adonisjs/assembler").DevServer, info: {
            port: number;
            host: string;
        }, uiInstructions: import("@poppinss/cliui").Instructions]];
        buildStarting: [[server: import("@adonisjs/assembler").Bundler], [server: import("@adonisjs/assembler").Bundler]];
        buildFinished: [[server: import("@adonisjs/assembler").Bundler, uiInstructions: import("@poppinss/cliui").Instructions], [server: import("@adonisjs/assembler").Bundler, uiInstructions: import("@poppinss/cliui").Instructions]];
        testsStarting: [[server: import("@adonisjs/assembler").TestRunner], [server: import("@adonisjs/assembler").TestRunner]];
        testsFinished: [[server: import("@adonisjs/assembler").TestRunner], [server: import("@adonisjs/assembler").TestRunner]];
        routesCommitted: [[parent: import("@adonisjs/assembler").DevServer, routes: Record<string, import("@adonisjs/assembler/types").RoutesListItem[]>], [parent: import("@adonisjs/assembler").DevServer, routes: Record<string, import("@adonisjs/assembler/types").RoutesListItem[]>]];
        routesScanning: [[parent: import("@adonisjs/assembler").DevServer, routesScanner: import("@adonisjs/assembler/routes_scanner").RoutesScanner], [parent: import("@adonisjs/assembler").DevServer, routesScanner: import("@adonisjs/assembler/routes_scanner").RoutesScanner]];
        routesScanned: [[parent: import("@adonisjs/assembler").DevServer, routesScanner: import("@adonisjs/assembler/routes_scanner").RoutesScanner], [parent: import("@adonisjs/assembler").DevServer, routesScanner: import("@adonisjs/assembler/routes_scanner").RoutesScanner]];
    }>, indexGenerator: import("@adonisjs/assembler/index_generator").IndexGenerator): void;
};
