import { z } from "zod"; import type { CapabilityKind } from "./capabilities.js"; import { type GrantedRole } from "./shared.js"; export declare const CredentialReachSchema: z.ZodObject<{ capabilities: z.ZodArray; secrets: z.ZodArray; }, z.core.$strip>; export type CredentialReach = z.infer; export declare const REACHABLE_CREDENTIAL_KINDS: readonly CapabilityKind[]; export declare const AgentAccessSchema: z.ZodEnum<{ chat: "chat"; home: "home"; off: "off"; run: "run"; }>; export type AgentAccess = z.infer; export declare const EditScopeSchema: z.ZodUnion, z.ZodArray]>; export type EditScope = z.infer; export interface MemberAccess { readonly manage: boolean; readonly agents: AgentAccess; readonly see: readonly string[] | undefined; readonly edit: "none" | "all" | readonly string[]; readonly lands?: boolean | undefined; } interface AccessFields { readonly role: GrantedRole; readonly areas?: readonly string[] | undefined; readonly agents?: AgentAccess | undefined; readonly edit?: EditScope | undefined; readonly lands?: boolean | undefined; } export declare const memberAccess: (row: AccessFields) => MemberAccess; export declare const landsHere: (access: Pick) => boolean; export declare const tierOf: (access: MemberAccess) => GrantedRole; export declare const accessRefusal: (access: MemberAccess) => string | undefined; export declare const MemberSchema: z.ZodObject<{ email: z.ZodString; role: z.ZodEnum<{ collaborator: "collaborator"; guest: "guest"; maintainer: "maintainer"; viewer: "viewer"; writer: "writer"; }>; areas: z.ZodOptional>; agents: z.ZodOptional>; edit: z.ZodOptional, z.ZodArray]>>; lands: z.ZodOptional; emailSignIn: z.ZodOptional; credentials: z.ZodOptional; secrets: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>; export type Member = z.infer; export declare const MembersListSchema: z.ZodObject<{ members: z.ZodArray; areas: z.ZodOptional>; agents: z.ZodOptional>; edit: z.ZodOptional, z.ZodArray]>>; lands: z.ZodOptional; emailSignIn: z.ZodOptional; credentials: z.ZodOptional; secrets: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>; export type MembersList = z.infer; export declare const MembersRosterSchema: z.ZodObject<{ members: z.ZodArray; areas: z.ZodOptional>; agents: z.ZodOptional>; edit: z.ZodOptional, z.ZodArray]>>; lands: z.ZodOptional; emailSignIn: z.ZodOptional; credentials: z.ZodOptional; secrets: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>>; owner: z.ZodOptional; }, z.core.$strip>; export type MembersRoster = z.infer; export declare const MemberGrantSchema: z.ZodObject<{ email: z.ZodString; role: z.ZodEnum<{ collaborator: "collaborator"; guest: "guest"; maintainer: "maintainer"; viewer: "viewer"; writer: "writer"; }>; areas: z.ZodOptional>; agents: z.ZodOptional>; edit: z.ZodOptional, z.ZodArray]>>; lands: z.ZodOptional; emailSignIn: z.ZodOptional; credentials: z.ZodOptional, z.ZodObject<{ capabilities: z.ZodArray; secrets: z.ZodArray; }, z.core.$strip>]>>; }, z.core.$strip>; export type MemberGrant = z.infer; export declare const MemberSelfSchema: z.ZodObject<{ role: z.ZodEnum<{ collaborator: "collaborator"; guest: "guest"; maintainer: "maintainer"; owner: "owner"; viewer: "viewer"; writer: "writer"; }>; agents: z.ZodEnum<{ chat: "chat"; home: "home"; off: "off"; run: "run"; }>; areas: z.ZodOptional>; edit: z.ZodUnion, z.ZodUnion, z.ZodArray]>]>; lands: z.ZodOptional; }, z.core.$strip>; export type MemberSelf = z.infer; export declare const MemberEmailSchema: z.ZodObject<{ email: z.ZodString; }, z.core.$strip>; export {}; //# sourceMappingURL=members.d.ts.map