import React, { PropsWithChildren, ReactNode } from "react";
import { HttpMethod } from "../types";
declare const updateFlowData: (folder_id: string, flow_id: string, data: {} | undefined, rf: {} | undefined, token: string) => Promise<any>;
declare const getFullFlowData: (folder_id: string, flow_id: string, token: string) => Promise<any>;
declare const updateFolder: (token: string, folder_id: string, data: {}) => Promise<any>;
declare const createFolder: (token: string) => Promise<any>;
declare const deleteFlow: (folder_id: string, flow_id: string, token: string) => Promise<any>;
declare const deleteFolder: (folder_id: string, token: string) => Promise<any>;
declare const createFlow: (folder_id: string, token: string) => Promise<any>;
declare const useFolder: (id: string) => {
    isValidating: boolean;
    folderMutate: import("swr/_internal").KeyedMutator<any>;
    folder: any;
    folderError: any;
    isFolderLoading: boolean;
};
declare const preloadRootFolder: (token: string) => void;
declare const useFolders: () => {
    mutate: import("swr/_internal").KeyedMutator<any>;
    folders: any;
    foldersError: any;
    isFoldersLoading: boolean;
};
declare const usePlatform: () => {
    platform: any;
    platformError: any;
    isPlatformLoading: boolean;
};
declare const useFlow: (flow_id: string | null | undefined) => {
    flow: any;
    flowMutate: import("swr/_internal").KeyedMutator<any>;
    isFlowLoading: boolean;
    isFlowError: any;
};
declare const apiCall: (token: string, path: string, body: any, method: HttpMethod) => Promise<any>;
declare const useActions: () => {
    actions: never[];
    isActionsLoading: boolean;
    isActionError: boolean;
}[];
declare const useSearchActions: () => {
    actions: any[] | undefined;
    error: any;
    isLoading: boolean;
    doQuery: React.Dispatch<React.SetStateAction<string>>;
};
declare const getUser: () => {
    user: void | undefined;
    isUserError: any;
    userTrigger: (extraArgument?: any, options?: import("swr/mutation").SWRMutationConfiguration<void, any, any, "https://api.edgebrix.com/v1/users"> | undefined) => Promise<void | undefined>;
    isUserMutating: boolean;
};
declare const getFlow: () => {
    flow: any;
    isFlowError: any;
    flowTrigger: (extraArgument?: any, options?: import("swr/mutation").SWRMutationConfiguration<any, any, any, "https://api.edgebrix.com/v1/folders"> | undefined) => Promise<any>;
    isFlowMutating: boolean;
};
type EdgebrixProviderProps = {
    clientAuthToken?: string;
    children: Array<ReactNode> | ReactNode;
};
declare function EdgebrixProvider({ clientAuthToken, children, }: PropsWithChildren<EdgebrixProviderProps>): JSX.Element;
export { EdgebrixProvider, useFolders, useFolder, useSearchActions, useActions, createFlow, useFlow, usePlatform, apiCall, deleteFolder, createFolder, preloadRootFolder, getFullFlowData, updateFlowData, updateFolder, deleteFlow, getUser, getFlow, };
