import { UseMutationResult } from '@tanstack/react-query'; import { AxiosInstance } from 'axios'; import { StraussConfig, StraussErrorEvent, StraussSuccessEvent } from '../types'; export interface UseStraussDeleteDirectoryOptions extends StraussConfig { onSuccess?: (event: StraussSuccessEvent) => void; onError?: (event: StraussErrorEvent) => void; } /** * Svuota una directory ricorsivamente e ritorna i path dei file cancellati. * * Strauss non espone una delete di directory (`DELETE //` finisce * sulla rotta del singolo file e risponde `400 "... is a directory"`): l'unico * modo di cancellare una directory è elencarla e cancellarne i file uno per * uno. I file dello stesso livello si cancellano in parallelo. * * Una directory inesistente risponde 404 alla lettura e vale come "già * cancellata": nessun errore, nessun file cancellato. * * Esportata per i test: i consumer usano `useStraussDeleteDirectory`. */ export declare const emptyStraussDirectory: (client: AxiosInstance, straussRoute: string | undefined, path: string) => Promise; /** * Elimina il contenuto di una directory, sottodirectory incluse. * * La variabile della mutation è il path della directory: l'hook si usa anche * per cleanup di directory diverse (es. annullamento di uno stepper). Il dato * di ritorno è l'elenco dei path cancellati, vuoto se la directory non esiste. * * Non è atomico: se una delete fallisce, i file cancellati fino a quel punto * restano cancellati e la mutation va in errore. */ export declare const useStraussDeleteDirectory: ({ apiUrl, straussRoute, headers, onSuccess, onError, }: UseStraussDeleteDirectoryOptions) => UseMutationResult; export default useStraussDeleteDirectory; //# sourceMappingURL=useStraussDeleteDirectory.d.ts.map