export declare const MAX_ICON_ASSET_BYTES: number; export interface IconAssetScope { ownerEmail: string; orgId?: string | null; } export interface IconAsset { id: string; ownerEmail: string; orgId: string | null; mimeType: string; filename: string | null; alt: string | null; size: number; sha256: string; createdAt: number; updatedAt: number; } export interface IconAssetRead { asset: IconAsset; data: Uint8Array; mimeType: string; } /** Uploads validated bytes and persists only the opaque private blob handle. */ export declare function putIconAsset(input: IconAssetScope & { data: Uint8Array; mimeType: string; filename?: string; alt?: string; }): Promise; export declare function getIconAsset(id: string, caller: IconAssetScope): Promise; export declare function readIconAsset(id: string, caller: IconAssetScope): Promise; /** Only call after proving the caller may read a live resource referencing this ID. */ export declare function readIconAssetForAuthorizedReference(id: string, scope: { orgId?: string | null; }): Promise; export declare function listIconAssets(input: IconAssetScope & { limit?: number; }): Promise;