react-playmakers
Version:
React wrapper providing utilities for PlayMakers integration
36 lines (35 loc) • 1.53 kB
TypeScript
import React from "react";
import { ProjectConfigType, ProjectPayloadType, ProjectType } from "../types/projects.types";
type ProjectsFetchMoreMethod = (refresh?: boolean) => Promise<void>;
type ProjectsRefreshMethod = () => Promise<ProjectType[]>;
interface UseProjectsReturn {
projects: ProjectType[];
fetched: boolean;
hasMore: boolean;
currentPage: number;
fetchMore: ProjectsFetchMoreMethod;
refresh: ProjectsRefreshMethod;
}
export declare const useProjects: (params?: {
[key: string]: any;
}) => UseProjectsReturn;
type ProjectPushMethod = (params?: Partial<ProjectPayloadType & {
newThumbnailFile: File;
}>) => Promise<ProjectType>;
type ProjectPushThumbnailMethod = (file?: File | null) => Promise<void>;
type ProjectPushNewOwnerMethod = (username?: string) => Promise<void>;
type ProjectUpdateConfigMethod = (config?: Partial<ProjectConfigType> | null) => Promise<void>;
type ProjectFetchMethod = (quiet?: boolean) => Promise<ProjectType>;
interface UseProjectReturn extends Partial<ProjectType> {
project: ProjectType | null;
fetched: boolean;
push: ProjectPushMethod;
pushThumbnail: ProjectPushThumbnailMethod;
pushNewOwner: ProjectPushNewOwnerMethod;
updateConfig: ProjectUpdateConfigMethod;
setConfig: React.Dispatch<React.SetStateAction<ProjectConfigType | null>>;
setThumbnail: (file: File) => void;
refresh: ProjectFetchMethod;
}
export declare const useProject: (id?: string) => UseProjectReturn;
export {};