import { HttpClient } from "../http-client.js";
import { Directory, DirectoryReadResponse, CreateDirectoryRequest, UpdateDirectoryRequest } from "../types/directories.types.js";
export declare class DirectoryOperations {
    private httpClient;
    constructor(httpClient: HttpClient);
    /**
     * Create a new directory
     * @param params - Directory creation parameters
     * @param params.name - The name of the directory
     * @param params.directory_id - The ID of the parent directory (optional, default is root)
     * @returns Promise<Directory> - The created directory
     * @example
     * await sdk.directory.create({ name: "New Folder", directory_id: "parent_dir_123" });
     */
    create(params: CreateDirectoryRequest): Promise<Directory>;
    /**
     * Read a directory by ID
     * @param directory_id - The ID of the directory to retrieve
     * @returns Promise<DirectoryReadResponse> - The directory details with files and subdirectories
     * @example
     * await sdk.directory.read("dir_1234567890");
     */
    read(directory_id: string): Promise<DirectoryReadResponse>;
    /**
     * Update a directory
     * @param directory_id - The ID of the directory to update
     * @param params - Directory update parameters
     * @returns Promise<string> - Success message
     * @example
     * await sdk.directory.update("dir_1234567890", { name: "Updated Name", directory_id: "parent_dir_123" });
     */
    update(directory_id: string, params: UpdateDirectoryRequest): Promise<string>;
    /**
     * Delete a directory
     * @param directory_id - The ID of the directory to delete
     * @returns Promise<string> - Success message
     * @example
     * await sdk.directory.delete("dir_1234567890");
     */
    delete(directory_id: string): Promise<string>;
    /**
     * Rename a directory
     * @param params - Rename parameters
     * @param params.directoryId - The ID of the directory to rename
     * @param params.name - The new name for the directory
     * @returns Promise<string> - Success message
     * @example
     * await sdk.directory.rename({ directoryId: "dir_1234567890", name: "New Directory Name" });
     */
    rename(params: {
        directoryId: string;
        name: string;
    }): Promise<string>;
    /**
     * Move a directory to a new parent directory
     * @param params - Move parameters
     * @param params.directoryId - The ID of the directory to move
     * @param params.parentDirectoryId - The ID of the new parent directory
     * @returns Promise<string> - Success message
     * @example
     * await sdk.directory.move({ directoryId: "dir_1234567890", parentDirectoryId: "parent_dir_9876543210" });
     */
    move(params: {
        directoryId: string;
        parentDirectoryId: string;
    }): Promise<string>;
}
