import { BehaviorSubject } from 'rxjs';
import { Go } from '../../misc/router';
import type { ReadonlyBehaviorSubject } from 'rx-use';
export interface NiceUiNavServiceOpts {
    go?: Go;
}
export declare class NiceUiNavService {
    readonly location$: ReadonlyBehaviorSubject<import("rx-use").LocationState>;
    readonly pathname$: ReadonlyBehaviorSubject<string>;
    readonly navigate: Go;
    /**
     * Splits pathname into steps list.
     *
     * '/foo/bar' => ['foo', 'bar']
     */
    readonly steps$: ReadonlyBehaviorSubject<string[]>;
    constructor(opts?: NiceUiNavServiceOpts);
    /**
     * ID of asset which is displayed on the page. Empty string if the currently
     * rendered page is not related to an asset.
     */
    readonly pageAsset$: BehaviorSubject<string>;
    readonly go: (route: string, replace?: boolean, state?: unknown) => void;
    readonly updateQuery: (params?: Record<string, string | null>, replace?: boolean) => void;
}
