import { MCProject } from 'bc-minecraft-project'; import { ProjectData } from '../project'; import { ResourcePackCollection } from '../project/resource-pack'; import { BehaviorPackCollection } from '../project/behavior-pack'; export interface ProjectItem { item: T; type: 'project'; } export declare namespace ProjectItem { function is(value: any | ProjectItem): value is ProjectItem; function create(v: T): ProjectItem; } export interface DefinitionItem { item: T; type: 'definition'; excluded: boolean; } export declare namespace DefinitionItem { function is(value: any | DefinitionItem): value is DefinitionItem; function create(v: T, excluded: boolean): DefinitionItem; } export interface VanillaItem { item: T; type: 'vanilla'; } export declare namespace VanillaItem { function is(value: any | VanillaItem): value is VanillaItem; function create(v: T): VanillaItem; } export declare class MinecraftData { projectData: ProjectData; constructor(projectData: ProjectData); behaviors: BehaviorData; resources: ResourceData; } export declare class BehaviorData { private _behaviorpacks; constructor(behaviorpacks: BehaviorPackCollection); animations: DS, ProjectItem, never>; animationControllers: DS, ProjectItem, never>; biomes: DS, ProjectItem, VanillaItem>; blocks: DS, ProjectItem, VanillaItem>; entities: DS, ProjectItem, VanillaItem>; features: DS, ProjectItem, VanillaItem>; featuresRules: DS, ProjectItem, never>; functions: DS, ProjectItem, never>; items: DS, ProjectItem, VanillaItem>; itemGroups: DS, ProjectItem, never>; lootTables: DS, ProjectItem, VanillaItem>; structures: DS, ProjectItem, never>; trading: DS, ProjectItem, VanillaItem>; } export declare class ResourceData { private _resourcepacks; constructor(resourcepacks: ResourcePackCollection); animations: DS, ProjectItem, VanillaItem>; animationControllers: DS, ProjectItem, VanillaItem>; attachables: DS, ProjectItem, never>; blockCullingRules: DS, ProjectItem, never>; entities: DS, ProjectItem, VanillaItem>; fogs: DS, ProjectItem, VanillaItem>; materials: DS, ProjectItem, VanillaItem>; models: DS, ProjectItem, VanillaItem>; particles: DS, ProjectItem, VanillaItem>; renderControllers: DS, ProjectItem, VanillaItem>; sounds: DS, ProjectItem, VanillaItem>; textures: DS, ProjectItem, VanillaItem>; itemTextures: DS, ProjectItem, never>; terrainTextures: DS, ProjectItem, never>; } export declare class DS { private _extractFN; constructor(...extractFN: Array | checkfn | checkfn>); has(id: string, project: MCProject): boolean; get(id: string, project: MCProject): A | B | C | undefined; } type checkfn = (id: string, project: MCProject) => T | undefined; export declare function firstReturn(first: checkfn, second: checkfn): DS; export declare function firstReturn(first: checkfn, second: checkfn, thrid: checkfn): DS; export declare function fromProject(dataSet: () => { get(id: string): T | undefined; }): checkfn>; export declare function fromVanilla(callfn: (id: string, edu: boolean) => T | undefined): checkfn>; export declare function fromDefinition(containerKey: string): checkfn>; export declare function educationEnabled(project: MCProject): boolean; export {}; //# sourceMappingURL=minecraft.d.ts.map