/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { Static, TSchema } from "@sinclair/typebox";
/**
 * Identifier OR Index of an identifier in the identifier list.
 */
export declare const IdentifierOrIndex: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>;
export type IdentifierOrIndex = Static<typeof IdentifierOrIndex>;
/**
 * Reference to a shape, by index.
 *
 * Shapes use a dictionary encoding where they are referenced by their index in a shape array.
 */
export declare const ShapeIndex: import("@sinclair/typebox").TNumber;
export type ShapeIndex = Static<typeof ShapeIndex>;
export declare const Count: import("@sinclair/typebox").TNumber;
declare const EncodedChunkBase: import("@sinclair/typebox").TObject<{
    version: import("@sinclair/typebox").TNumber;
    identifiers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
    data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>;
}>;
/**
 * Format for encoding a tree chunk.
 * @param version - format version. Must be changed if there is any change to the generic schema, or the `shape` schema.
 * @param shape - schema for union of shape format, see {@link DiscriminatedUnionDispatcher}.
 */
export declare const EncodedChunkGeneric: <TShapeSchema extends TSchema>(version: number, shape: TShapeSchema) => import("@sinclair/typebox").TObject<{
    version: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<number>]>;
    data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>;
    identifiers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
    shapes: import("@sinclair/typebox").TArray<TShapeSchema>;
}>;
export interface EncodedChunkGeneric<TEncodedShape> extends Static<typeof EncodedChunkBase> {
    shapes: TEncodedShape[];
}
export {};
//# sourceMappingURL=formatGeneric.d.ts.map