export type PrefabType = "character" | "vehicle" | "weapon" | "spawnpoint" | "gamemode" | "interactive" | "generic";
export interface ComponentDef {
    type: string;
    properties?: Record<string, string>;
}
export interface PrefabOptions {
    /** Prefab name (used for filename and ID) */
    name: string;
    /** Prefab template type */
    prefabType: PrefabType;
    /** Parent prefab path to inherit from (uses default per type if omitted) */
    parentPrefab?: string;
    /** Additional components to add */
    components?: ComponentDef[];
    /** Description (used for m_sDisplayName if applicable) */
    description?: string;
}
/**
 * Generate an Enfusion .et prefab file.
 */
export declare function generatePrefab(opts: PrefabOptions): string;
/**
 * Get the subdirectory for a prefab type.
 */
export declare function getPrefabSubdirectory(prefabType: PrefabType): string;
/**
 * Derive a filename from the prefab name.
 */
export declare function getPrefabFilename(name: string): string;
//# sourceMappingURL=prefab.d.ts.map