import { MCProject } from 'bc-minecraft-project'; import { Manifest } from '../../internal/types'; import { Container, DataSet, Pack, TextDocument } from '../../types'; import { PackType } from '../pack-type'; import * as Animation from './animation'; import * as AnimationController from './animation-controller'; import * as Biome from './biome'; import * as Block from './block'; import * as Entity from './entity'; import * as Feature from './feature'; import * as FeatureRule from './feature_rule'; import * as Item from './item'; import * as ItemCatalog from './item_catalog'; import * as LootTable from './loot-table'; import * as Function from './mcfunction'; import * as Recipe from './recipe'; import * as Script from './script'; import * as Structure from './structure'; import * as Trading from './trading'; import * as VoxelShape from './voxel-shape'; type CollectFieldsOfType = { [K in keyof T]: T[K] extends DataSet ? U : never; }; type CollectionFieldsDataSet = { [K in keyof T]: T[K] extends DataSet ? DataSet : never; }; type FieldKeysDataSet = { [K in keyof T]: T[K] extends DataSet ? K : never; }; type ItemTypes = CollectFieldsOfType[keyof BehaviorPack]; type DataSetTypes = CollectionFieldsDataSet[keyof BehaviorPack]; export type BehaviorPackKeys = FieldKeysDataSet[keyof BehaviorPack]; /** */ export declare class BehaviorPack implements Container, Pack { readonly type: PackType; readonly folder: string; readonly context: MCProject; readonly manifest: Manifest; /**The collection of animations*/ readonly animations: DataSet; /**The collection of animations controllers*/ readonly animationControllers: DataSet; /**The collection of biomes*/ readonly biomes: DataSet; /**The collection of blocks*/ readonly blocks: DataSet; /**The collection of entities*/ readonly entities: DataSet; /**The collection of features*/ readonly features: DataSet; /**The collection of features*/ readonly featuresRules: DataSet; /**The collection of mcfunctions*/ readonly functions: DataSet; /**The collection of items*/ readonly itemGroups: DataSet; /**The collection of items*/ readonly items: DataSet; /**The collection of loot tables*/ readonly lootTables: DataSet; /**The collection of recipes*/ readonly recipes: DataSet; /**The collection of structures*/ readonly structures: DataSet; /**The collection of trading tables*/ readonly trading: DataSet; /**The collection of voxel shapes*/ readonly voxelShapes: DataSet; /**The collection of script-defined custom commands*/ readonly customCommands: DataSet; /** * @param folder The folder of the behavior * @param context The Mcproject data or the filepath to read from.*/ constructor(folder: string, context: MCProject | string, manifest: Manifest); /** * * @param doc */ process(doc: TextDocument): DataSetTypes | undefined; /** * * @param uri * @returns */ getDataset(uri: string): DataSetTypes | undefined; /** * * @param uri * @returns */ deleteFile(uri: string): boolean; /** * * @param uri */ deleteFolder(uri: string): boolean; /** * * @param predicate * @returns */ find(predicate: (value: ItemTypes, key: string) => boolean): ItemTypes | undefined; /** * * @param predicate * @returns */ forEach(callbackfn: (value: ItemTypes) => void): void; } /** * */ export declare namespace BehaviorPack { /** * * @param value * @returns */ function is(value: any): value is BehaviorPack; } export {}; //# sourceMappingURL=behavior-pack.d.ts.map