type OrganizationMemberRole = "owner" | "admin" | "member"; interface MembershipRecord { id: number; organization_id: number; user_id: number; role: OrganizationMemberRole; created_at: Date; } interface MembershipLookup { listForUser(userId: number): Promise; findMembership(userId: number, organizationId: number): Promise; listForOrganization(organizationId: number): Promise; addMember(input: { organizationId: number; userId: number; role?: OrganizationMemberRole; }): Promise; removeMember(organizationId: number, userId: number): Promise; updateMemberRole(organizationId: number, userId: number, role: OrganizationMemberRole): Promise; } export type { MembershipLookup, MembershipRecord, OrganizationMemberRole };