/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import { Schema } from '@formily/json-schema';
import React, { FC } from 'react';
import { Location, NavigateFunction } from 'react-router-dom';
export declare const LocationSearchContext: React.Context<string>;
/**
 * @internal
 */
export declare const CurrentPageUidContext: React.Context<string>;
/**
 * @internal
 */
export declare const CurrentTabUidContext: React.Context<string>;
export declare const IsSubPageClosedByPageMenuContext: React.Context<{
    isSubPageClosedByPageMenu: () => boolean;
    setFieldSchema: React.Dispatch<React.SetStateAction<Schema>>;
    reset: () => void;
}>;
export declare const IsSubPageClosedByPageMenuProvider: FC;
export declare const CurrentPageUidProvider: FC;
export declare const CurrentTabUidProvider: FC;
/**
 * use `useNavigateNoUpdate` to avoid components re-rendering.
 * @returns
 */
export declare const useNavigateNoUpdate: () => NavigateFunction;
/**
 * use `useLocationNoUpdate` to avoid components re-rendering.
 * @returns
 */
export declare const useLocationNoUpdate: () => Location<any>;
export declare const useLocationSearch: () => string;
export declare const useIsAdminPage: () => boolean;
export declare const useCurrentPageUid: () => string;
export declare const useIsInSettingsPage: () => boolean;
/**
 * @internal
 */
export declare const useCurrentTabUid: () => string;
export declare const useCurrentSearchParams: () => URLSearchParams;
export declare const useRouterBasename: () => string;
/**
 * Used to determine if the user closed the sub-page by clicking on the page menu
 * @returns
 */
export declare const useIsSubPageClosedByPageMenu: (fieldSchema: Schema) => {
    isSubPageClosedByPageMenu: () => boolean;
    reset: () => void;
};
export declare const CustomRouterContextProvider: FC;
