import { AxiosInstance } from 'axios'; import { StraussConfig } from './types'; /** Route di default su cui Strauss è montato. */ export declare const DEFAULT_STRAUSS_ROUTE = "storage"; export interface BuildStraussPathOptions { /** Route su cui Strauss è montato. Default: `storage`. */ straussRoute?: string; /** Path relativo della directory (non codificato). */ path?: string; /** Nome del file. Se assente il path costruito è quello di una directory. */ filename?: string; } /** * Costruisce il path relativo di una risorsa Strauss, con l'encoding corretto. * * Unico punto in cui si concatenano route/path/filename: se `filename` è * assente il path è quello di una directory e termina con `/`, come richiesto * dall'API. * * @example * buildStraussPath({ path: 'a/b', filename: 'file uno.pdf' }); * // 'storage/a/b/file%20uno.pdf' * buildStraussPath({ path: 'a/b' }); * // 'storage/a/b/' */ export declare const buildStraussPath: ({ straussRoute, path, filename, }: BuildStraussPathOptions) => string; export interface BuildStraussUrlOptions extends BuildStraussPathOptions { /** Base URL dell'API che espone Strauss. */ apiUrl: string; } /** * Costruisce l'URL assoluto di una risorsa Strauss, utilizzabile come `src` * di `img`/`audio`/`iframe`. */ export declare const buildStraussUrl: ({ apiUrl, ...pathOptions }: BuildStraussUrlOptions) => string; /** * Client axios per Strauss, memoizzato: l'istanza è stabile tra i render e * quindi utilizzabile nelle dipendenze di hook e query. */ export declare const useStraussClient: ({ apiUrl, headers, }: StraussConfig) => AxiosInstance; //# sourceMappingURL=client.d.ts.map