import type { RedirectResult } from '../../../../context/session_context.ts';
import type { DispatchFn } from '../../../../runtime/types.ts';
import { PathSpec } from '../../../../types.ts';
import type { SessionState } from '../../../session/session.ts';
import type { BuiltinCall } from '../types.ts';
export declare function handleCd(dispatch: DispatchFn, isMountRoot: (path: string) => boolean, path: string | PathSpec, session: SessionState, printPath?: boolean, cdpathTarget?: string | null, follow?: ((path: string) => string) | null, physical?: boolean): Promise<RedirectResult>;
/**
 * The `cd` arm: split -L/-P, pick the target, then move. `set -P`
 * (`set -o physical`) is the session-wide version of the per-command
 * flag, and GNU applies it to both `cd` and `pwd`.
 */
export declare function cdBuiltin(call: BuiltinCall): Promise<RedirectResult>;
//# sourceMappingURL=cd.d.ts.map