import { FileAbstract, FileAbstractOptions, FileInfo } from '../FileAbstract';
import { DataObject, LiteralUnion } from "../../../tools/typings";
export interface LoottableOptions<D extends DataObject = {}> extends FileAbstractOptions<D> {
    /** tag文件，仅用于.mcfunction，例如：tick load等 */
    tag?: LiteralUnion<'load' | 'tick', string>;
    /** 渲染入口 */
    render: (context: LoottableFile<any>) => D | void;
}
export declare class LoottableFile<D extends DataObject> extends FileAbstract<D> {
    #private;
    constructor(options: LoottableOptions<D>);
    add(text: string): void;
    load(cached?: boolean): boolean;
    getData(cached?: boolean): D;
    create(dir: string): FileInfo;
    toString(): string;
}
