import { Common } from "elmer-common";
import { IRouter } from "../../interface/IDeclareComponentOptions";
export declare type TypeRouterServiceOptions = {
    path?: string | RegExp;
    reduxActionType?: String;
};
export declare const ROUTER_SKIP_API_ACTION = "239b24b2-687a-1405-0c91-6085db4e";
declare type TypeRouterLoadingEvent = {
    loaded?: number;
    total?: number;
};
declare type TypeRouterAjaxAllOptions = {
    option?: any;
    onDownloadProgress?(event: TypeRouterLoadingEvent, option?: any): void;
    onCompleted?(option?: any): void;
};
export declare class RouterService extends Common {
    static className: string;
    routers: IRouter[];
    toUrl: string;
    C404: string;
    hashRouter: boolean;
    private target;
    private http;
    private hashChangeID;
    constructor();
    initConfig(routeData: IRouter[], hashRouter: boolean): void;
    setBindRouteComponent(target: any): void;
    setState(updateState: any): void;
    refreshUrl(updateUrl: string): void;
    checkRoutersVisible(newUrl: string, oldUrl: string, param: any): IRouter;
    getPageCode(router: IRouter): string;
    onHashChanged(res: any): void;
    getToRouter(toUrl: string): any;
    getRouterRequests(router: IRouter): any;
    ajaxAll<T>(apiData: any, options?: TypeRouterAjaxAllOptions): Promise<T>;
    dispose(): void;
    private handleOnHashChange;
    private calcAllRequestProgress;
    private getQueryDataFromUrl;
    private getRoutePathValue;
}
export {};
