import type { WritebackReceipt, WritebackResult } from '@relayfile/adapter-core/vfs-client'; /** * A provider receipt was observed inside the write's wait window. */ export interface CreatedConfirmed { status: 'confirmed'; /** Provider id when supplied, otherwise the legacy draft-path fallback. */ id: string; /** Provider URL when supplied. Never a Relayfile path. */ url: string; /** Stable handle for the Relayfile draft regardless of receipt contents. */ path: string; receipt: WritebackReceipt; } /** * The draft was accepted, but no provider receipt arrived inside the wait * window. This is not failure evidence and must not trigger an automatic retry. */ export interface CreatedPending { status: 'pending'; /** Legacy-compatible draft handle; not a provider id until confirmed. */ id: string; /** Empty because a Relayfile path is not a provider URL. */ url: ''; path: string; receipt?: never; } /** A transport positively determined that the draft will not be handled. */ export interface CreatedDropped { status: 'dropped'; /** Legacy-compatible draft handle; no provider object was created. */ id: string; /** Empty because no provider URL exists. */ url: ''; path: string; /** Terminal provider-operation detail when the transport supplies it. */ reason?: string; /** Optional diagnostic receipt supplied by a custom transport. */ receipt?: WritebackReceipt; } export type CreatedResult = CreatedConfirmed | CreatedPending | CreatedDropped; /** * Preserve a write transport's delivery knowledge for ergonomic create * helpers. Older transports that omit `deliveryStatus` remain compatible: receipt * presence means confirmed and absence means pending. * * Pending is deliberately returned, never thrown. A receipt can arrive after * this function returns, and retrying an unconfirmed write can duplicate the * provider-side effect. */ export declare function created(result: WritebackResult): CreatedResult; export declare function created(result: PromiseLike): Promise; //# sourceMappingURL=receipt.d.ts.map