@osaedasia/oresume
Version:
A user-friendly library for generating complete Single Page Applications (SPAs)
33 lines (32 loc) • 1.39 kB
TypeScript
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>;
}