type Status = 'idle' | 'pending' | 'streaming' | 'success' | 'error';
type UseStreamingMutationOptions<TVariables> = {
    streamFn: (variables: TVariables) => Promise<ReadableStreamDefaultReader<Uint8Array> | undefined>;
    decoder?: TextDecoder;
    onChunk?: (args: {
        chunk: string;
        prev: string;
        variables: TVariables;
    }) => void | Promise<void>;
    onSuccess?: (args: {
        variables: TVariables;
    }) => void;
    onDone?: (args: {
        variables: TVariables;
    }) => void;
    onError?: (args: {
        error: Error;
        variables: TVariables;
    }) => void;
};
export declare function useStreamingMutation<TVariables>({ streamFn, decoder, onChunk, onSuccess, onDone, onError, }: UseStreamingMutationOptions<TVariables>): {
    data: string;
    error: Error | null;
    status: Status;
    mutate: (variables: TVariables) => Promise<void>;
    isIdle: boolean;
    isPending: boolean;
    isStreaming: boolean;
    isSuccess: boolean;
    isError: boolean;
    isLoading: boolean;
};
export {};
