import type { SiloFile, SiloAgeRating, ListFilesResult, ListBucketsResult, SiloBucket, SignedUrlResult, SignOptions, UploadResult, UploadOptions, DashboardData, OrgQuota, DeleteFileResult } from "../types.js"; interface UrlState { url: string; loading: boolean; error: Error | null; } interface SiloOpts { authenticateWithUser?: boolean; userToken?: string; } export declare function useSilo(opts?: SiloOpts): { getThumbnail: (fileId: string) => UrlState; getStoryboard: (fileId: string) => UrlState; getCaptions: (fileId: string, lang?: string) => UrlState; getChapters: (fileId: string) => UrlState; getHlsStream: (fileId: string) => UrlState; getFile: (fileId: string, disposition?: "inline" | "attachment") => UrlState; getFileMeta: (fileId: string) => Promise; getSignedUrl: (fileId: string, signOpts?: SignOptions) => Promise; updateFile: (fileId: string, data: { isPrivate?: boolean; title?: string | null; description?: string | null; tags?: string[]; age_ratings?: Record | null; }) => Promise; deleteFile: (fileId: string) => Promise; markFileForDeletion: (fileId: string) => Promise<{ ok: boolean; }>; retryFile: (fileId: string) => Promise<{ ok: boolean; jobId: string; }>; listFiles: (bucket?: string, listOpts?: { cursor?: string; limit?: number; }) => Promise; listBuckets: () => Promise; createBucket: (name: string, bucketOpts?: { slug?: string; visibility?: "PUBLIC" | "PRIVATE"; }) => Promise; deleteBucket: (bucket: string) => Promise; getDashboardData: () => Promise; setPlan: (plan: "starter" | "pro" | "business") => Promise; upload: (file: File | Blob, uploadOpts?: UploadOptions) => Promise; uploadCaption: (fileId: string, captionOpts: { language: string; label?: string; vtt: string; }) => Promise<{ id: string; language: string; label: string | null; }>; deleteCaption: (fileId: string, captionId: string) => Promise; getCaptionsUrl: (fileId: string, captionUrlOpts?: { lang?: string; }) => Promise; getChaptersUrl: (fileId: string) => Promise; getHlsStreamUrl: (fileId: string) => Promise; getThumbnailUrl: (fileId: string) => Promise; getStoryboardUrl: (fileId: string) => Promise; setRating: (fileId: string, userId: string, reaction: "LOVE" | "LIKE" | "DISLIKE") => Promise<{ fileId: string; userId: string; reaction: string; }>; removeRating: (fileId: string, userId: string) => Promise; getUserRating: (fileId: string, userId: string) => Promise<{ fileId: string; userId: string; reaction: "LOVE" | "LIKE" | "DISLIKE" | null; }>; getAggregateRating: (fileId: string) => Promise<{ fileId: string; LOVE: number; LIKE: number; DISLIKE: number; }>; listAgeRatings: (region?: string) => Promise<{ items: SiloAgeRating[]; }>; createAgeRating: (data: Parameters<(data: { region: string; code: string; title: string; description: string; imageUrl?: string | null; }) => Promise>[0]) => Promise; updateAgeRating: (id: string, data: Parameters<(id: string, data: Partial<{ region: string; code: string; title: string; description: string; imageUrl: string | null; }>) => Promise>[1]) => Promise; deleteAgeRating: (id: string) => Promise; uploadAgeRatingImage: (id: string, file: File | Blob) => Promise<{ imageUrl: string; imageKey: string; }>; }; export {}; //# sourceMappingURL=use-silo.d.ts.map