import type { WriteGate } from "../flows/writability.js"; import type { VaultRow } from "../registry/repo.js"; export type Caller = string; export interface AccessEntry { caller: Caller; level: "read" | "write"; } export interface Invitation { id: number; repo: string; inviter: string; permission: string; } export interface AccessProvider { caller(): Caller; canWrite(vault: VaultRow, caller?: Caller): Promise; resolveScoped(handle: string, caller?: Caller): Promise; listAccess(vault: VaultRow, caller?: Caller): Promise; canShare(vault: VaultRow, caller?: Caller): Promise; listInvitations(caller?: Caller): Promise; acceptInvitation(id: number, caller?: Caller): Promise; grant(vault: VaultRow, grantee: Caller, level: "read" | "write"): Promise; revoke(vault: VaultRow, grantee: Caller): Promise; } export type { WriteGate } from "../flows/writability.js"; export type { VaultRow } from "../registry/repo.js"; //# sourceMappingURL=access-provider.d.ts.map