import * as _casl_ability from '@casl/ability'; import { z } from 'zod'; import { GroupMembers } from '../groups/index.js'; import { UserRole } from '../user/index.js'; import { Zone } from '../zones/index.js'; declare enum Neighborhood { public = "public", private = "private", semi = "semi" } declare const NEIGHBORHOODS: Neighborhood[]; type Member = { userId: string; role: UserRole; }; type Workspace = { id: string; organizationId: string; name: string; handle: string; members: Member[] | GroupMembers[]; neighborhood: Neighborhood; zone?: Zone; }; type CreateWorkspaceInput = { name: string; handle: string; members: Member[] | GroupMembers[]; }; type UpdateOrganizationInput = { name: string; handle: string; members: Member[] | GroupMembers[]; }; type AddMemberInput = { userId: string; role: UserRole; }; type UpdateMemberRoleInput = { userId: string; role: UserRole; }; type RemoveMembersInput = { userIds: string[]; }; declare const MemberDetailsSchema: z.ZodObject<{ userId: z.ZodString; name: z.ZodString; email: z.ZodString; profileImage: z.ZodNullable; avatar: z.ZodNullable; role: z.ZodString; }, z.core.$strip>; declare const MembersResponseSchema: z.ZodArray; avatar: z.ZodNullable; role: z.ZodString; }, z.core.$strip>>; type MemberDetails = z.infer; type GetMembersResponse = z.infer; declare const PermissionsResponseSchema: z.ZodArray; subject: z.ZodEnum<{ all: "all"; Organisation: "Organisation"; Member: "Member"; Project: "Project"; Task: "Task"; Comment: "Comment"; Document: "Document"; Folder: "Folder"; File: "File"; ProjectMember: "ProjectMember"; Role: "Role"; Permission: "Permission"; }>; conditions: z.ZodOptional>; }, z.core.$strip>>; type PermissionsResponse = z.infer; export { type AddMemberInput, type CreateWorkspaceInput, type GetMembersResponse, type Member, type MemberDetails, MemberDetailsSchema, MembersResponseSchema, NEIGHBORHOODS, Neighborhood, type PermissionsResponse, PermissionsResponseSchema, type RemoveMembersInput, type UpdateMemberRoleInput, type UpdateOrganizationInput, type Workspace };