import { type ReactNode } from "react"; export type SessionUiFeatures = Readonly<{ /** The chat list: search, filters, projects, pins, archive, subagent rows. */ chatList: boolean; /** * The session panel beside the chat: files, terminal, desktop, browser and * computer viewers, artifacts, the agent inspector. Loaded on demand. */ dock: boolean; /** The workspace-admin access indicator and grant dialog in the header. */ adminAccess: boolean; /** * Page-wide keyboard shortcuts and the ⌘K command menu (⌘/Ctrl+⇧O for a new * chat, ⌘/Ctrl+K, next and previous chat, the shortcut sheet). */ keyboardShortcuts: boolean; /** The Opengeni logo and wordmark at the top of the chat list and the mobile header. */ brand: boolean; /** * Opengeni's suggested first tasks under the new-chat composer (connect * Slack, GitHub or Linear, schedule a brief, and so on). */ starters: boolean; }>; export type SessionUiPreset = "app" | "companion" | "embed"; export declare const SESSION_UI_PRESETS: Readonly>; /** Feature switches a host may pass, including names from earlier releases. */ export type SessionUiFeatureOverrides = Partial & { /** @deprecated Use `keyboardShortcuts`. */ newChatShortcut?: boolean | undefined; }; export declare function SessionUiFeaturesProvider(props: { preset?: SessionUiPreset | undefined; features?: SessionUiFeatureOverrides | undefined; children?: ReactNode; }): import("react").JSX.Element; /** Whether this surface shows a feature. Without a provider: the web app's full UI. */ export declare function useSessionUiFeature(feature: keyof SessionUiFeatures): boolean;