import type { Client } from "@libsql/client"; import { type GhExecutor } from "../util/gh-discover.js"; import { type VaultRow } from "../registry/repo.js"; export type WritabilityVerdict = { writable: true; reason: "gh-viewerCanPush-true"; } | { writable: false; reason: "subscriber-default-false" | "gh-viewerCanPush-false"; } | { writable: "unknown"; reason: "gh-unavailable" | "no-remote" | "orphan-vault" | "provenance-unavailable"; }; export declare function __clearWritabilityCache(): void; export declare const HANDLE_OK: RegExp; export type RoleSummary = { hasHome: boolean; hasSubscribed: boolean; }; export declare function loadRoleSummary(db: Client, vaultRid: Uint8Array): Promise; export declare function isPureSubscriberVault(db: Client, vaultRid: Uint8Array): Promise; export declare function hasSubscriptionSignal(db: Client, vaultRid: Uint8Array): Promise; export type WriteGate = { blocked: false; verdict: WritabilityVerdict | null; } | { blocked: true; verdict: WritabilityVerdict; }; export declare function deriveWriteGate(vault: VaultRow, db: Client, opts?: DeriveVaultWritableOpts): Promise; export type LocalWritability = { localWritable: boolean; reason: "own-vault" | "subscribed-writable" | "subscribed-readonly" | "subscribed-unverifiable" | "provenance-unavailable"; }; export declare function deriveLocalWritable(vault: VaultRow, db: Client, opts?: DeriveVaultWritableOpts): Promise; export interface DeriveVaultWritableOpts { gh?: GhExecutor; forceProbe?: boolean; } export declare function deriveVaultWritable(vault: VaultRow, db: Client, opts?: DeriveVaultWritableOpts): Promise; //# sourceMappingURL=writability.d.ts.map