import { IPartialObserver } from "./subscriptions"; import { IElementParams } from "./element"; import { IContext } from "."; export type useState = (defaultValue: T) => [T, (value: T) => void]; export type useEffect = (callback: () => any, deps?: any[]) => void; export type useContext = (context: IContext) => T; export type withContext = (context: IContext, value: T) => void; export type subscribe = (params: IElementParams, observer?: IPartialObserver) => void; export type call = (params: IElementParams>, observer?: IPartialObserver) => void; export type complete = () => void; export type useRef = () => { current?: T };