import { BaseResource } from './base';
import { Tsonik } from '../client';
import { ApiResponse, PaginatedResponse } from '../types';
import { Collection, CollectionListParams, CreateCollectionRequest, DeleteCollectionResponse, UpdateCollectionRequest, UpdateCollectionOptions, ReplaceCollectionRequest, ReplaceCollectionOptions } from '../types/collections';
/**
 * Collection resource for managing collections in Iconik
 */
export declare class CollectionResource extends BaseResource {
    constructor(client: Tsonik);
    /**
     * Get a list of collections
     */
    listCollections(params?: CollectionListParams): Promise<ApiResponse<PaginatedResponse<Collection>>>;
    /**
     * Get a single collection by ID
     */
    getCollection(id: string): Promise<ApiResponse<Collection>>;
    /**
     * Create a new collection
     */
    createCollection(collectionData: CreateCollectionRequest): Promise<ApiResponse<Collection>>;
    /**
     * Update a collection by ID
     */
    updateCollection(id: string, updateData: UpdateCollectionRequest, options?: UpdateCollectionOptions): Promise<ApiResponse<Collection>>;
    /**
     * Replace a collection by ID (PUT operation)
     */
    replaceCollection(id: string, replaceData: ReplaceCollectionRequest, options?: ReplaceCollectionOptions): Promise<ApiResponse<Collection>>;
    /**
     * Delete a collection by ID
     */
    deleteCollection(id: string): Promise<ApiResponse<DeleteCollectionResponse>>;
}
//# sourceMappingURL=collections.d.ts.map