/**
 * StrandDescriptorValidation — pure normalization and validation
 * helpers for strand lifecycle operations.
 *
 * Extracted from StrandService free functions. No host access.
 */
/** Convert a frontier Map to a sorted plain object. */
export declare function frontierToRecord(frontier: Map<string, string>): Record<string, string>;
/** Validate a Lamport ceiling, returning null for absent values. */
export declare function normalizeLamportCeiling(value: number | null | undefined): number | null;
/** Validate a lease expiration as ISO-8601, returning null for absent values. */
export declare function normalizeLeaseExpiresAt(value: string | null | undefined): string | null;
/** Validate an optional writable flag, returning null for absent values. */
export declare function normalizeWritable(value: boolean | null | undefined): boolean | null;
/** Resolve a strand ID, generating a fresh one if not provided. */
export declare function resolveStrandId(strandId: string | undefined | null): string;
/** Check whether two frontier records have identical sorted key-value pairs. */
export declare function frontierRecordsEqual(left: Record<string, string>, right: Record<string, string>): boolean;
/** Normalized create options. */
export type NormalizedCreateOptions = {
    strandId: string;
    lamportCeiling: number | null;
    owner: string | null;
    scope: string | null;
    leaseExpiresAt: string | null;
};
/** Normalize raw create options into validated form. */
export declare function normalizeCreateOptions(options: {
    strandId?: string;
    lamportCeiling?: number | null;
    owner?: string | null;
    scope?: string | null;
    leaseExpiresAt?: string | null;
}): NormalizedCreateOptions;
/** Check whether a patch touches a given entity in its reads or writes. */
export declare function patchTouchesEntity(patch: {
    reads?: string[];
    writes?: string[];
}, entityId: string): boolean;
/** Normalize and validate braided strand IDs. */
export declare function normalizeBraidedStrandIds(ids: string[] | undefined, selfStrandId: string): string[];
