/// <reference types="react" />
import { Config, Chat, Conversation } from "@proompter/core";
export declare const getData: <Result>(authToken?: string) => (url: string) => Promise<Result>;
export declare const postData: <PostArgs, Result = Response>(authToken?: string) => (url: string, { arg }: {
    arg: PostArgs;
}) => Promise<Result>;
export declare function useConversation(id: string | null): import("swr/_internal").SWRResponse<Conversation, any, any>;
export declare function useRenameConversation(): import("swr/mutation").SWRMutationResponse<string, any, "/api/proompter/chat/conversation/name", {
    id: string;
    name: string;
}>;
export declare function useProompter(intialConfig: Config, { onChatflowSelected, initialConversationId, initialChatflowId, }: {
    onChatflowSelected?: (chatflow: Chat.Chatflow) => void;
    initialConversationId?: string;
    initialChatflowId?: string | null;
}): {
    config: Config;
    setConfig: import("react").Dispatch<import("react").SetStateAction<Config>>;
    chatflow: Chat.Chatflow | undefined;
    setChatflow: import("react").Dispatch<import("react").SetStateAction<Chat.Chatflow | undefined>>;
    chat: import("ai/react").UseChatHelpers;
    conversationData: {
        mutate: import("swr/_internal").KeyedMutator<any[]>;
        conversations: never[];
        isLoadingMore: boolean | undefined;
        isLoadingInitialData: boolean;
        isLoading: boolean;
        isValidating: boolean;
        size: number;
        setSize: (size: number | ((_size: number) => number)) => Promise<any[] | undefined>;
        isReachingEnd: boolean | undefined;
        error: any;
    };
    conversationId: string | null;
    setConversationId: import("react").Dispatch<import("react").SetStateAction<string | null>>;
    currentConveration: import("swr/_internal").SWRResponse<Conversation, any, any>;
    renameConversation: (id: string, name: string) => Promise<void>;
    renameConversationData: import("swr/mutation").SWRMutationResponse<string, any, "/api/proompter/chat/conversation/name", {
        id: string;
        name: string;
    }>;
};
