import { BooleanResponse } from '..'; import { Group, GroupId, GroupMembershipLevel, GroupPrivacy, GroupType, Nullable, PublicRecipe, Recipe, SubscriptionId, UserId } from '../../models'; import { AuthRequest, OptionalAuthRequest } from '../common'; /** * GetGroupById */ export interface GetGroupByIdRequest extends OptionalAuthRequest { groupId: GroupId; } export declare type GetGroupByIdResponse = Nullable; export declare const GetGroupById: import("..").ProtocolFunction>; /** * GetGroupBySlug */ export interface GetGroupBySlugRequest extends OptionalAuthRequest { slug: string; } export declare type GetGroupBySlugResponse = Nullable; export declare const GetGroupBySlug: import("..").ProtocolFunction>; /** * GroupSearch */ export interface GroupSearchRequest extends OptionalAuthRequest { query: string; } export declare type GroupSearchResponse = Group[]; export declare const GroupSearch: import("..").ProtocolFunction; /** * CreateGroup */ export interface CreateGroupRequest extends AuthRequest { name: string; description: string; type?: GroupType; privacy?: GroupPrivacy; profilePicture?: string; supportEmail?: string; subscriptions?: SubscriptionId[]; } export declare type CreateGroupResponse = Nullable<{ id: GroupId; slug: string; }>; export declare const CreateGroup: import("..").ProtocolFunction>; /** * UpdateGroup */ export interface UpdateGroupRequest extends AuthRequest { groupId: GroupId; name?: string; description?: string; type?: GroupType; privacy?: GroupPrivacy; profilePicture?: string; supportEmail?: string; subscriptions?: SubscriptionId[]; updateSlug?: boolean; } export declare type UpdateGroupResponse = BooleanResponse; export declare const UpdateGroup: import("..").ProtocolFunction; /** * AddAdminsToGroup */ export interface AddAdminsToGroupRequest extends AuthRequest { groupId: GroupId; adminsToAdd: UserId[]; } export declare type AddAdminsToGroupResponse = BooleanResponse; export declare const AddAdminsToGroup: import("..").ProtocolFunction; /** * RemoveAdminsFromGroup */ export interface RemoveAdminsFromGroupRequest extends AuthRequest { groupId: GroupId; adminsToRemove: UserId[]; } export declare type RemoveAdminsFromGroupResponse = BooleanResponse; export declare const RemoveAdminsFromGroup: import("..").ProtocolFunction; /** * AddModeratorsToGroup */ export interface AddModeratorsToGroupRequest extends AuthRequest { groupId: GroupId; moderatorsToAdd: UserId[]; } export declare type AddModeratorsToGroupResponse = BooleanResponse; export declare const AddModeratorsToGroup: import("..").ProtocolFunction; /** * RemoveModeratorsFromGroup */ export interface RemoveModeratorsFromGroupRequest extends AuthRequest { groupId: GroupId; moderatorsToRemove: UserId[]; } export declare type RemoveModeratorsFromGroupResponse = BooleanResponse; export declare const RemoveModeratorsFromGroup: import("..").ProtocolFunction; /** * AddMembersToGroup */ export interface AddMembersToGroupRequest extends AuthRequest { groupId: GroupId; membersToAdd: UserId[]; } export declare type AddMembersToGroupResponse = BooleanResponse; export declare const AddMembersToGroup: import("..").ProtocolFunction; /** * RemoveMembersFromGroup */ export interface RemoveMembersFromGroupRequest extends AuthRequest { groupId: GroupId; membersToRemove: UserId[]; } export declare type RemoveMembersFromGroupResponse = BooleanResponse; export declare const RemoveMembersFromGroup: import("..").ProtocolFunction; /** * JoinGroup */ export interface JoinGroupRequest extends AuthRequest { groupId: GroupId; } export declare type JoinGroupResponse = BooleanResponse; export declare const JoinGroup: import("..").ProtocolFunction; /** * LeaveGroup */ export interface LeaveGroupRequest extends AuthRequest { groupId: GroupId; } export declare type LeaveGroupResponse = BooleanResponse; export declare const LeaveGroup: import("..").ProtocolFunction; /** * GetRecipesMentionedInGroup */ export interface GetRecipesMentionedInGroupRequest extends OptionalAuthRequest { groupId: GroupId; } export declare type GetRecipesMentionedInGroupResponse = (Recipe | PublicRecipe)[]; export declare const GetRecipesMentionedInGroup: import("..").ProtocolFunction; /** * ConnectGroupToPlan */ export interface ConnectGroupToPlanRequest extends AuthRequest { groupId: GroupId; subscriptionId: SubscriptionId; } export declare type ConnectGroupToPlanResponse = BooleanResponse; export declare const ConnectGroupToPlan: import("..").ProtocolFunction; /** * DisconnectGroupFromPlan */ export interface DisconnectGroupFromPlanRequest extends AuthRequest { groupId: GroupId; subscriptionId: SubscriptionId; } export declare type DisconnectGroupFromPlanResponse = BooleanResponse; export declare const DisconnectGroupFromPlan: import("..").ProtocolFunction; /** * CloseGroup */ export interface CloseGroupRequest extends AuthRequest { groupId: GroupId; } export declare type CloseGroupResponse = BooleanResponse; export declare const CloseGroup: import("..").ProtocolFunction; /** * OpenGroup */ export interface OpenGroupRequest extends AuthRequest { groupId: GroupId; } export declare type OpenGroupResponse = BooleanResponse; export declare const OpenGroup: import("..").ProtocolFunction; /** * GetGroupsForUser */ export interface GetGroupsForUserRequest extends AuthRequest { userId?: UserId; membershipLevel?: GroupMembershipLevel; } export declare type GetGroupsForUserResponse = Group[]; export declare const GetGroupsForUser: import("..").ProtocolFunction;