import type { EditableArtifactSession } from "@opengeni/sdk/editable-artifacts"; import { type ReactNode } from "react"; export type ArtifactSubmissions = Readonly<{ getPending: () => number; subscribe: (listener: () => void) => () => void; run: (invoke: () => Promise) => Promise; }>; export declare function ArtifactSubmissionProvider({ children }: { children: ReactNode; }): import("react").JSX.Element; /** UI authoring submissions not yet visible as SDK pending transactions. */ export declare function useArtifactSubmissions(): ArtifactSubmissions; /** Stable per-session React key so a replaced session never inherits queued state. */ export declare function artifactSubmissionSessionKey(session: EditableArtifactSession): number;