use async_trait;
use crateMeowError;
use ;
/// Refreshes presigned upload URLs when they are expired or close to expiring.
///
/// Implement this trait in application code when a backend service can issue a
/// fresh URL for the same multipart part. The refreshed part must keep the same
/// `part_number`, `offset`, and `size` so the executor never uploads bytes to a
/// mismatched remote part.
/// Refreshes presigned range-download URLs when they are expired or close to
/// expiring.
///
/// This trait is synchronous because [`crate::BreakpointDownload`] URL/header
/// hooks are synchronous. Implementors should keep this operation lightweight or
/// use a local cache populated by application code.