/// <reference types="@adonisjs/application/build/adonis-typings" />
import { ApplicationContract } from '@ioc:Adonis/Core/Application';
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext';
import { InertiaConfig, InertiaContract, RenderResponse, ResponseProps, SharedData, Version, InertiaLazyProp } from '@ioc:EidelLev/Inertia';
export declare class Inertia implements InertiaContract {
    private app;
    private ctx;
    private config;
    private static sharedData;
    private static currentVersion;
    constructor(app: ApplicationContract, ctx: HttpContextContract, config: InertiaConfig);
    static share(data: SharedData): typeof Inertia;
    static manifestFile(path: string): Promise<string>;
    static version(version: Version): typeof Inertia;
    static lazy(callback: () => ResponseProps | Promise<ResponseProps>): InertiaLazyProp;
    render(component: string, responseProps?: ResponseProps, pageOnlyProps?: ResponseProps): RenderResponse;
    private renderSsrPage;
    /**
     * Converts partial data header to an array of values
     */
    private resolvePartialData;
    /**
     * Get current asset version
     */
    private resolveVersion;
    /**
     * Resolves all response prop values
     */
    private resolveProps;
    /**
     * Simply replace with Adonis' `response.redirect().withQs().back()`
     */
    redirectBack(): void;
    /**
     * Server initiated external redirect
     *
     * @param      {string}  url     The external URL
     */
    location(url: string): void;
}
