import { AssetFolderContracts, SharedContracts } from '../../contracts'; import { SharedModels } from '../shared/shared-models'; export declare namespace AssetFolderModels { class AssetFolder implements SharedModels.IBaseModel { id: string; name: string; externalId?: string; folders: AssetFolder[]; codename: string; _raw: AssetFolderContracts.IAssetFolderContract; constructor(data: { id: string; name: string; externalId?: string; folders: AssetFolder[]; codename: string; _raw: AssetFolderContracts.IAssetFolderContract; }); } interface IAssetFolderValue { name: string; folders?: IAssetFolderValue[]; external_id?: string; codename?: string; } interface IAddAssetFoldersData { folders: IAssetFolderValue[]; } type IModifyAssetFolderData = AddIntoOperation | RemoveOperation | RenameOperation; type AddIntoOperation = { op: 'addInto'; reference?: SharedContracts.IReferenceObjectContract; value: IAssetFolderValue; before?: SharedContracts.IReferenceObjectContract; after?: SharedContracts.IReferenceObjectContract; }; type RemoveOperation = { op: 'remove'; reference: SharedContracts.IReferenceObjectContract; }; type RenameOperation = { op: 'rename'; reference: SharedContracts.IReferenceObjectContract; value: string; }; }