import type { AppId, CatalogId } from "@x12i/catalox-contracts/ids.js"; import type { CataloxContext } from "@x12i/catalox-contracts/context.js"; import type { CatalogBindingRecord } from "@x12i/catalox-contracts/bindings.js"; import { BindingStore } from "../firebase/binding-store.js"; export type RequiredAccess = "read" | "write" | "admin"; export type VisibilityDecision = { outcome: "allowed"; binding: CatalogBindingRecord; } | { outcome: "denied"; reason: string; details?: Record; }; export declare class AuthorizationService { private readonly bindings; constructor(bindings: BindingStore); resolveVisibility(context: CataloxContext, appId: AppId, catalogId: CatalogId, required: RequiredAccess): Promise; requireBindingAccess(context: CataloxContext, appId: AppId, catalogId: CatalogId, required: RequiredAccess): Promise; } //# sourceMappingURL=authorization.d.ts.map