import { FileBrowserEntry } from './file-browser-types.js'; export interface CustomerStorageObject { key: string; size?: number; uploaded?: Date | string; } export interface CustomerStorageUsage { bytes: number; files: number; } export interface CustomerStorageListPage { cursor?: string; objects: CustomerStorageObject[]; truncated: boolean; } export type StorageListStopReason = "complete" | "page_limit" | "missing_cursor" | "cursor_loop"; export interface CustomerStorageListDrain { complete: boolean; nextCursor?: string; objects: CustomerStorageObject[]; stopReason: StorageListStopReason; /** Alias of `!complete` for older callers. */ truncated: boolean; } export declare const MAX_STORAGE_LIST_PAGES = 50; export declare const EMPTY_STORAGE_LIST_DRAIN: CustomerStorageListDrain; export declare function normalizeStorageObjects(data: unknown): CustomerStorageObject[]; export declare function deriveStorageUsage(objects: readonly CustomerStorageObject[]): CustomerStorageUsage; export declare function normalizeStorageListPage(data: unknown): CustomerStorageListPage; export declare function drainStorageListPages(list: (input?: unknown) => Promise, input?: { prefix?: string; }): Promise; export declare function normalizeObjectPrefix(prefix: string | undefined): string; export declare function objectsToBrowserEntries(objects: readonly CustomerStorageObject[], prefix?: string): FileBrowserEntry[]; export declare function formatVisibleFolderSummary(entries: readonly FileBrowserEntry[]): string | undefined;