import * as React from 'react'; type GetFn = (state: T) => React.ReactNode; type PrevState = (prevState: T) => T; interface State { Ctx: ( fn: GetFn | {children: (state: T) => React.ReactNode} ) => React.ReactNode; Put: (nextState: T | PrevState) => void; Val: ( selector: (state: T) => S ) => (fn: GetFn) => React.ReactNode; Auto: ( selector: (state: T) => S ) => ( fn: GetFn | {children: (state: S) => React.ReactNode} ) => React.ReactNode; } export function init(initial: T = {}): State;