import { MCProject } from 'bc-minecraft-project'; import { Manifest } from '../../internal/types/manifest'; 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 Attachable from './attachable'; import * as BlockCulling from './block-culling'; import * as Entity from './entity'; import * as Fog from './fog'; import * as Material from './material'; import * as Model from './model'; import * as Particle from './particle'; import * as RenderController from './render-controller'; import * as Sound from './sound'; import * as Texture from './texture'; import * as UI from './ui'; 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 ResourcePack]; type DataSetTypes = CollectionFieldsDataSet[keyof ResourcePack]; export type ResourcePackKeys = FieldKeysDataSet[keyof ResourcePack]; /** */ export declare class ResourcePack 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 animations controllers*/ readonly attachables: DataSet; /**The collection of blocks culling rules*/ readonly blockCullingRules: DataSet; /**The collection of entities*/ readonly entities: DataSet; /**The collection of fogs*/ readonly fogs: DataSet; /**The collection of materials*/ readonly materials: DataSet; /**The collection of models*/ readonly models: DataSet; /**The collection of models*/ readonly particles: DataSet; /**The collection of sounds*/ readonly sounds: DataSet; /**The collection of sounds*/ readonly renderControllers: DataSet; /**The collection of textures*/ readonly textures: DataSet; /**The collection of textures from item_texture.json*/ readonly itemTextures: DataSet; /**The collection of textures from terrain_texture.json*/ readonly terrainTextures: DataSet; /**The collection of UI elements*/ readonly uiElements: DataSet; /** * Creates a new instance of ResourcePack * @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 */ deleteFolder(uri: string): boolean; /** * * @param uri * @returns */ deleteFile(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 ResourcePack { /** * * @param value * @returns */ function is(value: any): value is ResourcePack; } export {}; //# sourceMappingURL=resource-pack.d.ts.map