@virtualstate/examples
Version:
31 lines • 1.16 kB
TypeScript
import { VNode } from "@virtualstate/fringe";
export declare const DoneSymbol: unique symbol;
export interface Context extends Record<string, unknown> {
globalThing: unknown;
}
export declare const DefaultContext: Context;
export interface State extends Record<string, unknown> {
currentThing: number;
updatedAt: number;
[DoneSymbol]?: boolean;
}
export interface SourceVNode<Source> extends VNode {
source: Source;
}
export declare function useState<S>(defaultState: S, state?: SourceVNode<S>): [S, (state: S) => void];
export interface AsyncFunction<T, Args extends unknown[] = never[]> {
(...Args: any[]): Promise<T>;
}
export declare type MaybeAsyncFunction<T, Args extends unknown[] = never[]> = ((...Args: any[]) => T) | AsyncFunction<T, Args>;
export declare function useEffect(input: MaybeAsyncFunction<void | MaybeAsyncFunction<void>>, ...watch: unknown[]): void;
export declare function useContext(): Context;
export interface ReferenceState {
references: {
current: unknown;
}[];
index: number;
}
export declare function useRef<T>(value: T): {
current: T;
};
//# sourceMappingURL=source.interface.d.ts.map