import type { ReactElement } from 'react'; import type { SessionContinuationRemote } from './session-continuation-ui.ts'; import type { CompactionContinuationStatus } from './session-continuation-types.ts'; type NoticeState = CompactionContinuationStatus['state'] | 'unavailable'; /** Presentation only, retained across incidental mounts by the Client slot registration. */ export declare class CompactionNoticePresentation { private entries; private listeners; private version; subscribe: (listener: () => void) => () => void; snapshot: () => number; private key; private remember; observe(sessionId: string, id: string, state: NoticeState): void; remaining(sessionId: string, id: string): number | undefined; visible(sessionId: string, id: string, state: NoticeState): boolean; dismiss(sessionId: string, id: string, state: NoticeState): void; dispose(): void; } export declare function CompactionContinuationNotice({ sessionId, remote, lifecycle, locale, renderEvidence, presentation: sharedPresentation }: { sessionId: string; remote?: SessionContinuationRemote; lifecycle: unknown; locale?: string; presentation?: CompactionNoticePresentation; renderEvidence?: (status?: CompactionContinuationStatus, controls?: ReactElement | null, transient?: boolean) => ReactElement | null; }): ReactElement> | null; export {}; //# sourceMappingURL=compaction-continuation-ui.d.ts.map