import { UpdateSpaceProps } from "./useUpdateSpace"; import { SpaceDetailed, SpaceIncludeParam, SpacePreview } from "../../interfaces/models/Space"; import { SpaceMemberStatus } from "../../interfaces/models/SpaceMember"; export interface UseSpaceDataProps { space?: SpaceDetailed; spaceId?: string | undefined | null; shortId?: string | undefined | null; slug?: string | undefined | null; include?: SpaceIncludeParam; } export interface UseSpaceDataValues { space: SpaceDetailed | null | undefined; setSpace: React.Dispatch>; isMember: boolean; isAdmin: boolean; isModerator: boolean; canPost: boolean; canModerate: boolean; canRead: boolean; membershipStatus: SpaceMemberStatus | null; isPending: boolean; isBanned: boolean; breadcrumb: SpacePreview[]; parentSpace: SpacePreview | null; childSpaces: SpacePreview[]; updateSpace(props: Pick): Promise; deleteSpace: () => Promise; joinSpace: () => Promise; leaveSpace: () => Promise; loading: boolean; error: string | null; } declare function useSpaceData({ spaceId, shortId, slug, space: spaceProp, include, }: UseSpaceDataProps): UseSpaceDataValues; export default useSpaceData;