/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { type Static } from "@sinclair/typebox";
import { schemaFormatV1 } from "../../core/index.js";
import { type Brand } from "../../util/index.js";
/**
 * The format version for the forest.
 */
export declare const ForestFormatVersion: {
    readonly v1: 1;
};
export type ForestFormatVersion = Brand<(typeof ForestFormatVersion)[keyof typeof ForestFormatVersion], "ForestFormatVersion">;
export declare const FormatV1: import("@sinclair/typebox").TObject<{
    version: import("@sinclair/typebox").TLiteral<ForestFormatVersion>;
    keys: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<schemaFormatV1.FieldKey>>;
    fields: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
        data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>>;
        version: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<import("../chunked-forest/index.js").FieldBatchFormatVersion>]>;
        identifiers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
        shapes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
            a: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
            b: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                length: import("@sinclair/typebox").TNumber;
                shape: import("@sinclair/typebox").TNumber;
            }>>;
            c: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>>;
                value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>, import("@sinclair/typebox").TEnum<typeof import("../chunked-forest/codec/format.js").SpecialField>]>>;
                fields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>, import("@sinclair/typebox").TNumber]>>>;
                extraFields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
            }>>;
            d: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<0>>;
            e: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<0>>;
        }>>;
    }>, import("@sinclair/typebox").TObject<{
        data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>>;
        version: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<import("../chunked-forest/index.js").FieldBatchFormatVersion>]>;
        identifiers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
        shapes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
            a: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
            b: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                length: import("@sinclair/typebox").TNumber;
                shape: import("@sinclair/typebox").TNumber;
            }>>;
            c: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>>;
                value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>, import("@sinclair/typebox").TEnum<typeof import("../chunked-forest/codec/format.js").SpecialField>]>>;
                fields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>, import("@sinclair/typebox").TNumber]>>>;
                extraFields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
            }>>;
            d: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<0>>;
            e: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<0>>;
        }>>;
    }>]>;
}>;
export type FormatV1 = Static<typeof FormatV1>;
//# sourceMappingURL=format.d.ts.map