import type { PropsLocale, PropsRenderSlots, PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots'; import type { SessionSearchResultItem } from '@deepseek-ai/dsh-api-session-controller/client'; import type { ArkmeAuthSnapshot } from '../types.js'; import { ARKME_LOGIN_LOCALE_NAMESPACE } from './arkme-login-locales.js'; type PersistentSidebarStorage = Pick; export declare function clampPersistentSidebarWidth(width: number): number; export declare function readPersistentSidebarWidth(storage?: PersistentSidebarStorage | undefined): number | undefined; export declare function writePersistentSidebarWidth(width: number, storage?: PersistentSidebarStorage | undefined): void; /** Share shrinking space with the chat, retaining the existing 120px compact directory. */ export declare function resolvePersistentSidebarWidth(availableWidth: number, preferredWidth?: number): number; /** Permanent browser-side lifecycles that used to be owned by the optional DSH footer entry. */ export declare function ArkmePersistentClientRuntime(): import("react").JSX.Element; /** The persistent shell remains mounted even when a transient Web login dialog has already unmounted. */ export declare function shouldRestoreWebAuthenticatedWorkspace(auth: ArkmeAuthSnapshot | undefined, mode: string, desktopStartupGate?: boolean): boolean; export type ArkmePersistentSidebarProps = PropsRuntime<'sidebar'> & PropsRenderSlots<'arkme.directory.entry' | 'arkme.send-to-self.entry' | 'arkme.topic.actions'> & { collapseSidebar(): void; closeDetails(): void; searchDshMessages?(query: string, signal: AbortSignal): Promise<{ items: SessionSearchResultItem[]; hasMore: boolean; }>; openDshSession?(sessionId: string): void; }; /** Arkme permanently owns the DSH sidebar seat. */ export declare function ArkmePersistentSidebar({ collapsed, useSessions, renderSlot, closeDetails, searchDshMessages, openDshSession, }: ArkmePersistentSidebarProps): import("react").JSX.Element; export type ArkmePersistentWorkspaceProps = PropsRuntime<'main'> & PropsLocale & { closeDetails(): void; }; /** Arkme keeps the conversation seat and embeds the complete native DSH client inside it. */ export declare function ArkmePersistentWorkspace({ useSessions, closeDetails, t, }: ArkmePersistentWorkspaceProps): import("react").JSX.Element; export type ArkmePersistentDetailsProps = PropsRuntime<'rightbar'> & { closeDetails(): void; }; /** Claim the details seat as an empty Arkme surface so the official DSH panel is never visible. */ export declare function ArkmePersistentDetails({ closeDetails }: ArkmePersistentDetailsProps): import("react").JSX.Element; export {}; //# sourceMappingURL=ArkmePersistentShell.d.ts.map