/**
 * Navigation Monad Implementation
 * Monadic composition for route changes
 */
import { Navigation, Route, NavigationEnv } from './types';
import { Effect } from '../core/effect';
/**
 * Pure function for Navigation monad - left identity law
 */
export declare const pureNavigation: <A>(value: A, env: NavigationEnv) => Navigation<A>;
/**
 * Navigation Environment Implementations
 */
/**
 * Browser Navigation Environment
 */
export declare const createBrowserNav: () => NavigationEnv;
/**
 * Node.js Navigation Environment (for SSR)
 */
export declare const createNodeNav: (initialPath?: string) => NavigationEnv;
/**
 * Memory Navigation Environment (for testing)
 */
export declare const createMemoryNav: (initialPath?: string) => NavigationEnv;
/**
 * Navigation Effects - additional navigation operations
 */
export declare const createNavigationEffects: (env: NavigationEnv) => {
    back: () => Effect<void>;
    forward: () => Effect<void>;
    go: (delta: number) => Effect<void>;
    replace: (path: string) => Effect<void>;
    push: (path: string) => Effect<void>;
};
/**
 * Export navigation constructor
 */
export declare const navigation: <A>(route: Route<A>, env: NavigationEnv) => Navigation<A>;
