import type { Queryable } from 'mysql2-async'; import { AssetFolder, type AssetFolderFilter, type CreateAssetFolderInput, DeleteState } from '../internal.js'; export interface AssetFolderRow { id: number; siteId: number; path: string; name: string; linkId: string; deletedAt?: Date; deleteState: DeleteState; deletedBy?: string; pagetreeId: number; } export declare class NameConflictError extends Error { constructor(message?: string); } export declare function getAssetFolders(filter?: AssetFolderFilter): Promise; export declare function getAssetFoldersByPath(paths: string[], filter: AssetFolderFilter): Promise<{ key: string; value: AssetFolder; }[]>; export declare function checkForAssetNameConflict(folderId: string, name: string, tdb?: Queryable): Promise<{ id: number; path: string; siteId: number; pagetreeId: number; }>; export declare function createAssetFolder(args: CreateAssetFolderInput): Promise; export declare function renameAssetFolder(folderId: string, name: string): Promise; export declare function deleteAssetFolder(id: number, userInternalId: number): Promise; export declare function finalizeAssetFolderDeletion(id: number, userInternalId: number): Promise; export declare function undeleteAssetFolder(id: number): Promise;