import type { ListResponse, QueryParams, Package } from '../types.js';
export interface ClientOptions {
    baseUrl?: string;
    apiKey?: string;
    headers?: Record<string, string>;
}
export declare class API {
    private api;
    constructor(options?: ClientOptions);
    /**
     * List all packages
     */
    listPackages(params?: QueryParams): Promise<ListResponse<Package>>;
    /**
     * Get a package by ID
     */
    getPackage(id: string): Promise<Package>;
    /**
     * Create a new package
     */
    createPackage(data: Partial<Package>): Promise<Package>;
    /**
     * Update a package
     */
    updatePackage(id: string, data: Partial<Package>): Promise<Package>;
    /**
     * Delete a package
     */
    deletePackage(id: string): Promise<Package>;
    /**
     * Publish a package to NPM
     */
    publishPackage(id: string, options?: {
        tag?: string;
    }): Promise<any>;
    /**
     * List all functions
     */
    listFunctions(params?: QueryParams): Promise<ListResponse<any>>;
    /**
     * List all workflows
     */
    listWorkflows(params?: QueryParams): Promise<ListResponse<any>>;
    /**
     * List all databases
     */
    listDatabases(params?: QueryParams): Promise<ListResponse<any>>;
    /**
     * Add a collection to a package
     */
    addCollectionToPackage(packageId: string, collection: string): Promise<any>;
    /**
     * Remove a collection from a package
     */
    removeCollectionFromPackage(packageId: string, collection: string): Promise<any>;
    /**
     * Update package.json for a package
     */
    updatePackageJson(packageId: string, packageJson: any): Promise<any>;
}
