import { Observable, ObservableMap, ExtractObservableTypes, ExtractObservableType } from './observable'; export declare type MoleculeDeriver = (args: { [Index in keyof Deps]: ExtractObservableType; }) => DerivedState; export interface Molecule> extends Observable { children: Children; actions: Actions; } export interface MoleculeOptions> { actions?: (children: Children) => Actions; deriver?: MoleculeDeriver; } export declare const molecule: >, Actions extends {} = Children, DerivedState = ExtractObservableTypes>(children: Children, { actions, deriver }?: MoleculeOptions) => Molecule;