import { WebPartContext } from '@microsoft/sp-webpart-base';
import '@pnp/sp/files';
import '@pnp/sp/folders';
import { IFolder } from '@pnp/sp/folders';
export declare enum Permission {
    View = "View",
    Add = "Add",
    Edit = "Edit",
    Delete = "Delete",
    ManagePermissions = "ManagePermissions"
}
/**
 * Service class for interacting with SharePoint Document Libraries.
 */
declare class LibraryService {
    private readonly sp;
    /**
     * Initializes the DocumentLibraryService instance.
     * @param {WebPartContext} context - The SharePoint WebPart context.
     */
    constructor(context: WebPartContext);
    /**
     * Retrieves the current user's effective permissions for the specified SharePoint document library.
     *
     * @param {string} id - The id of the document library.
     * @returns {Promise<Permission[]>} A promise that resolves to an array of the user's effective permissions.
     */
    getEffectivePermissions(id: string): Promise<Permission[]>;
    /**
     * Creates a new folder inside the specified SharePoint document library path.
     *
     * @param {string} path - The server-relative path of the parent folder where the new folder should be created.
     * @param {string} name - The name of the new folder.
     * @returns {Promise<IFolder>} A promise that resolves to the created folder object.
     */
    createNewFolder(path: string, name: string): Promise<IFolder>;
    /**
     * Fetches all folders, and files from the library.
     * @param {string} path - The traversed library path.
     * @returns {Promise<any[]>} A list of items (folders & files).
     */
    getLibraryItems(path: string): Promise<any[]>;
    /**
     * Deletes items (files or folders) from a SharePoint document library.
     * @param {string} listId - The ID of the SharePoint library.
     * @param {number[]} itemIds - The array of item IDs to delete.
     * @returns {Promise<any[]>} void
     */
    recycleItems(listId: string, itemIds: number[]): Promise<any[]>;
}
export { LibraryService };
//# sourceMappingURL=LibraryService.d.ts.map