/**
 * Utilities for parsing strand descriptor blobs stored as Git refs.
 *
 * @module parseStrandBlob
 */
/** Return type of parseStrandBlob — the validated strand descriptor. */
export interface StrandDescriptor {
    readonly schemaVersion: number;
    readonly strandId: string;
    readonly graphName: string;
    readonly createdAt: string;
    readonly updatedAt: string;
    readonly owner: string | null;
    readonly scope: string | null;
    readonly lease: {
        readonly expiresAt: string | null;
    };
    readonly baseObservation: {
        readonly coordinateVersion: string;
        readonly frontier: Record<string, string>;
        readonly frontierDigest: string;
        readonly lamportCeiling: number | null;
    };
    readonly overlay: {
        readonly overlayId: string;
        readonly kind: string;
        readonly headPatchSha: string | null;
        readonly patchCount: number;
        readonly writable?: boolean;
    };
    readonly braid?: {
        readonly readOverlays: ReadonlyArray<{
            readonly strandId: string;
            readonly overlayId: string;
            readonly kind: string;
            readonly headPatchSha: string | null;
            readonly patchCount: number;
        }>;
    };
    readonly materialization: {
        readonly cacheAuthority: 'derived';
    };
    readonly [key: string]: unknown;
}
/**
 * Parses and validates a strand descriptor blob.
 *
 * The blob must contain UTF-8 JSON for the v1 descriptor shape. Unknown fields
 * are preserved, but the core identity and coordinate fields must be valid.
 */
export declare function parseStrandBlob(buf: Uint8Array, label: string): StrandDescriptor;
