import type { StorageSubClientConfig } from '../client.js';
import type { Buffer } from '../../../lib/utils/buffer.js';
/**
 * Icon binary data with its MIME type.
 */
export type IconData = {
    data: Buffer;
    mimeType: string;
};
/**
 * Generic icons client interface.
 */
export interface IconsClient {
    set(icon: IconData): Promise<void>;
    get(): Promise<IconData | null>;
    delete(): Promise<boolean>;
}
/**
 * Storage Anchor-backed implementation of `IconsClient`.
 * Stores a single icon as a public binary object via a `KeetaStorageAnchorSession`.
 */
export declare class StorageIconsClient implements IconsClient {
    #private;
    constructor(config: StorageSubClientConfig);
    set(icon: IconData): Promise<void>;
    get(): Promise<IconData | null>;
    delete(): Promise<boolean>;
}
//# sourceMappingURL=icon.d.ts.map