import type { Simplify } from 'type-fest';
import { type ArxAction } from './Action.js';
import { type ArxFace } from './Face.js';
import { type ArxFtlHeader } from './FtlHeader.js';
import { type ArxFtlTextureContainer } from './FtlTextureContainer.js';
import { type ArxFtlVertex } from './FtlVertex.js';
import { type ArxGroup } from './Group.js';
import { type ArxSelection } from './Selections.js';
export type ArxFTL = {
    $schema?: string;
    header: Simplify<Omit<ArxFtlHeader, 'numberOfVertices' | 'numberOfFaces' | 'numberOfTextures' | 'numberOfGroups' | 'numberOfActions' | 'numberOfSelections'>>;
    vertices: ArxFtlVertex[];
    faces: ArxFace[];
    textureContainers: ArxFtlTextureContainer[];
    groups: ArxGroup[];
    actions: ArxAction[];
    selections: ArxSelection[];
};
export declare class FTL {
    static load(decompressedFile: ArrayBufferLike): ArxFTL;
    static save(json: ArxFTL): ArrayBuffer;
}
