import { Fragment } from "../Fragment";
import { IPage } from "./interfaces/IPage";
import { UrlRoute } from "../../domain/models/UrlRoute";
import { QueryParamTypeMap } from "../../domain/definitions/types/QueryParam";
import { IPageConfig } from "./interfaces/IPageConfig";
/**
 * Base page implementation providing core functionality for page management and navigation.
 * @template OriginalUrl The original URL type associated with the page.
 * @template TParamTypeMap The type mapping for query parameters.
 */
export declare class Page<TAppRoute extends string, TParamTypeMap extends QueryParamTypeMap = never> implements IPage<TAppRoute, TParamTypeMap> {
    /** @inheritDoc */
    readonly route: UrlRoute<TAppRoute, TParamTypeMap>;
    /**
     * Display name identifier for the page.
     */
    private readonly _name;
    /**
     * DOM fragment container managing page content.
     */
    private readonly _fragment;
    /**
     * Creates a new page instance.
     * @param {IPageConfig<OriginalUrl, TParamTypeMap>} config Configuration object for page initialization.
     * @param {boolean} urlBasedRouting Flag indicating if URL-based routing should be used.
     */
    constructor(config: IPageConfig<TAppRoute, TParamTypeMap>, urlBasedRouting: boolean);
    /** @inheritDoc */
    get name(): string;
    /** @inheritDoc */
    get fragment(): Fragment<TAppRoute>;
}
