import { SpaceDetailed, ReadingPermission, PostingPermission } from "../../interfaces/models/Space";
import { UploadImageOptions } from "../../interfaces/models/Image";
interface ImageUploadConfig {
    file: File | Blob;
    options: UploadImageOptions;
}
export interface UpdateSpaceProps {
    spaceId: string;
    update: Partial<{
        name: string;
        slug: string | null;
        description: string | null;
        avatar: ImageUploadConfig;
        banner: ImageUploadConfig;
        readingPermission: ReadingPermission;
        postingPermission: PostingPermission;
        requireJoinApproval: boolean;
        metadata: Record<string, any>;
    }>;
}
declare function useUpdateSpace(): (props: UpdateSpaceProps) => Promise<SpaceDetailed>;
export default useUpdateSpace;
