import { type Pathy } from '@bscotch/pathy';
import { SpineJson } from './spine.types.js';
export interface SpineSummary<AnimationName extends string = string, EventName extends string = string> {
    skinNames: string[];
    eventNames: EventName[];
    slotNames: string[];
    animations: {
        name: AnimationName;
        duration: number;
        events: {
            time: number;
            name: EventName;
        }[];
    }[];
}
export declare class Spine<AnimationName extends string = string, SlotName extends string = string, BoneName extends string = string, EventName extends string = string, AttachmentName extends string = string> {
    path: Pathy;
    protected _content?: SpineJson<AnimationName, SlotName, BoneName, EventName, AttachmentName>;
    constructor(path: string | Pathy);
    /**
     * Compute a simplified summary of the Spine content
     * for use in the Sprite Editor UI.
     */
    summarize(): Promise<SpineSummary<AnimationName, EventName>>;
    getContent(): Promise<SpineJson<AnimationName, SlotName, BoneName, EventName, AttachmentName>>;
    reload(): Promise<void>;
}
//# sourceMappingURL=spine.d.ts.map