import { MountHook, TaskHook } from './updater'; import CanvasPoint, { ImageTransform } from './point'; declare class TemplateManager { private _data; constructor(init?: Record); define(options: Record): void; define(key: string, value: T): void; resolve(hook: string | T): Record[string | (T & string)]; } export interface PointTemplate { applied?: MountHook>; display?: TaskHook>; } export interface PointTemplateWrapper extends PointTemplate { weight: number; query: string; test(target: Record): boolean; } export declare type PositionArray = [number, number, number, number]; export interface PositionObject { interval?: number; data: PositionArray[]; } export interface BulletAsset { judgeRadius: number; spinning?: boolean; fogEffect?: string; transform?: ImageTransform; position: PositionArray | PositionObject; } export declare type BulletAssetMap = Record; export interface EmitterAsset { transform?: ImageTransform; interval?: number; static: PositionArray[]; leftward: PositionArray[]; rightward: PositionArray[]; } export declare type EmitterAssetMap = Record; export declare class DisplayManager { private _data; define(options: Record): void; define(key: string, value: PointTemplate): void; resolve(key: string | PointTemplate, source: CanvasPoint): PointTemplate; buildEmitter(id: string, map: EmitterAssetMap): void; buildBullet(id: string, map: BulletAssetMap): void; } declare const _default: { fields: TemplateManager>; judges: TemplateManager; display: DisplayManager; }; export default _default; export declare function buildBullet(id: string, map: BulletAssetMap): void; export declare function buildEmitter(id: string, map: EmitterAssetMap): void; export declare function defineTemplate(options: Record): void; export declare function defineTemplate(key: string, value: PointTemplate): void;