export type BlobSignOp = "GET" | "PUT" | "HEAD" | "DELETE"; export interface BlobSignUrlRequest { readonly op: BlobSignOp; readonly keys: readonly string[]; } export interface BlobSignListRequest { readonly op: "LIST"; readonly prefix: string; } export type BlobSignRequest = BlobSignUrlRequest | BlobSignListRequest; export interface BlobSignedUrl { readonly key: string; readonly url: string; readonly expiresAt: string; } export interface BlobSignUrlResponse { readonly urls: readonly BlobSignedUrl[]; } export interface BlobSignListResponse { readonly keys: readonly string[]; } export type BlobSignResponse = BlobSignUrlResponse | BlobSignListResponse; export const BlobSignClientClockToken = Symbol("BlobSignClientClock");