import type * as Atom from "@effect-atom/atom/Atom";
import * as React from "react";
/**
* @since 1.0.0
* @category Type IDs
*/
export type TypeId = "~@effect-atom/atom-react/ScopedAtom";
/**
* @since 1.0.0
* @category Type IDs
*/
export declare const TypeId: TypeId;
/**
* @since 1.0.0
* @category models
*/
export interface ScopedAtom, Input = never> {
readonly [TypeId]: TypeId;
use(): A;
Provider: Input extends never ? React.FC<{
readonly children?: React.ReactNode | undefined;
}> : React.FC<{
readonly children?: React.ReactNode | undefined;
readonly value: Input;
}>;
Context: React.Context;
}
/**
* @since 1.0.0
* @category constructors
*/
export declare const make: , Input = never>(f: (() => A) | ((input: Input) => A)) => ScopedAtom;
//# sourceMappingURL=ScopedAtom.d.ts.map