import { NavigateFunction } from 'react-router-dom';

/**
 * Navigates to a route with an ID parameter, replacing the :id placeholder in the route path
 * This is a more RESTful approach than using location state
 *
 * @param navigate - The navigate function from useNavigate hook
 * @param routePath - The route path with :id placeholder
 * @param id - The ID to replace the placeholder with
 * @param fallbackState - Optional state to pass to the navigate function as fallback
 */
export declare const navigateWithId: (navigate: NavigateFunction, routePath: string, id: string | number, fallbackState?: any) => void;
/**
 * Extracts the ID from the URL parameters and returns it
 * If the ID is not found in the URL, falls back to using location.state
 *
 * @param params - The params object from useParams hook
 * @param location - The location object from useLocation hook
 * @param idField - The field name in the location.state object that contains the ID (default: 'id')
 * @returns The ID from params or location.state
 */
export declare const getEntityId: (params: Record<string, string | undefined>, location: {
    state: any;
}, idField?: string) => string | undefined;
