import * as React from "react";
import { FirebaseDatabaseNodeProps } from "../types";
export declare type FirebaseDatabaseNodesProps = {
    children?: ({ value, path, isLoading }: {
        value: any;
        path: string;
        isLoading: boolean;
    }) => React.ReactNode;
} & {
    nodes: {
        query?: Partial<FirebaseDatabaseNodeProps>;
        path: string;
        id: string;
    }[];
};
export declare type FirebaseDatabaseNodesState = {
    isLoading: boolean;
    value: {
        [id: string]: {
            isLoading: boolean;
            value: any;
        };
    };
};
export declare type PureNodeReaderProps = {
    id: string;
    value: any;
    isLoading: boolean;
    onChange: (change: PureNodeReaderProps) => void;
};
export declare class PureNodeReader extends React.Component<PureNodeReaderProps> {
    componentDidMount(): void;
    componentDidUpdate(): void;
    shouldComponentUpdate(prevProps: PureNodeReaderProps): boolean;
    render(): null;
}
export declare class FirebaseDatabaseNodes extends React.PureComponent<FirebaseDatabaseNodesProps, FirebaseDatabaseNodesState> {
    state: FirebaseDatabaseNodesState;
    componentDidMount(): void;
    componentDidUpdate(): void;
    render(): JSX.Element;
}
