import { observe, Primitive } from '@synnaxlabs/x';
export interface UseListenerProps<D> {
    key: Primitive[];
    open?: () => Promise<observe.ObservableAsyncCloseable<D> | undefined>;
    onChange: observe.Handler<D>;
}
export declare const useListener: <D>({ key, open, onChange }: UseListenerProps<D>) => void;
export interface UseStateProps<D> extends UseListenerProps<D> {
    fetchInitialValue: () => Promise<D>;
}
interface UseState {
}
export declare const useState: UseState;
export {};
//# sourceMappingURL=use.d.ts.map