import type { SessionSecretsView, VaultItemSummary, VaultPolicy, VaultSummary } from "@opengeni/sdk"; import { type ReactNode } from "react"; export type SessionSecretsVaultRow = VaultSummary & { selected: boolean; selectable: boolean; }; /** The "+" row's value: "All", "2 vaults", "None". */ export declare function sessionSecretsSummary(policy: VaultPolicy | null | undefined, vaults: readonly { selected: boolean; }[] | null | undefined): string; /** Rows of a new chat's checklist from the workspace's vaults and a draft policy. */ export declare function draftSecretsRows(vaults: readonly VaultSummary[], policy: VaultPolicy): SessionSecretsVaultRow[]; export declare function SessionSecretsMenuBody({ leading, presentation, vaults, policy, narrowedByParent, taskItems, canEdit, disabled, loading, error, onRetry, onPolicyChange, onSaveTo, onManage, }: { leading?: ReactNode | undefined; presentation?: "menu" | "dialog" | undefined; vaults: SessionSecretsVaultRow[] | null; policy: VaultPolicy; narrowedByParent: boolean; /** Present for a chat that exists; a new chat has no task items yet. */ taskItems?: VaultItemSummary[] | undefined; canEdit: boolean; disabled?: boolean | undefined; loading?: boolean | undefined; error?: unknown | undefined; onRetry?: (() => void) | undefined; onPolicyChange: (policy: VaultPolicy) => Promise | void; onSaveTo?: ((item: VaultItemSummary, target: VaultSummary) => Promise) | undefined; /** Opens Settings › Secrets. */ onManage?: (() => void) | undefined; }): import("react").JSX.Element; /** The panel for a chat that exists, from its secrets view. */ export declare function sessionSecretsRows(view: SessionSecretsView | null): SessionSecretsVaultRow[] | null;