import { FirebaseDatabaseProviderState, FirebaseQuery } from "./types";
export declare type AddPathToDataArgs = {
    componentID: any;
    path: string;
    data: any;
    unsub: () => void;
    isLoading?: boolean;
    query: FirebaseQuery;
};
export declare type Operations = "add" | "delete" | "add-to-list" | "remove-from-list";
export declare function stateReducer(state: FirebaseDatabaseProviderState, actionArgs: AddPathToDataArgs | {
    componentID: any;
    query: FirebaseQuery;
}, operation: Operations): any;
export declare const actions: {
    removeItemFromList: (state: FirebaseDatabaseProviderState, { path, data, unsub, isLoading, componentID, query }: AddPathToDataArgs) => any;
    addToList: (state: FirebaseDatabaseProviderState, { path, data: newData, unsub, isLoading, componentID, query }: AddPathToDataArgs) => any;
    addPathToData: (state: FirebaseDatabaseProviderState, { path, data: newData, unsub, isLoading, componentID }: AddPathToDataArgs) => any;
    removePathFromData: (state: FirebaseDatabaseProviderState, { query, componentID }: {
        query: FirebaseQuery;
        componentID: any;
    }) => any;
};
