/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { Static, TSchema, TAnySchema } from "@sinclair/typebox";
/**
 * Note: TS doesn't easily support extracting a generic function's return type until 4.7:
 * https://github.com/microsoft/TypeScript/pull/47607
 * This type is a workaround and can be removed once we're on a version of typescript which
 * supports expressions more like:
 * `Static<ReturnType<typeof EncodedGenericChange<Schema>>>`
 */
declare class Wrapper<T extends TSchema> {
    encodedGenericChange(e: T): import("@sinclair/typebox").TObject<{
        index: import("@sinclair/typebox").TNumber;
        nodeChange: T;
    }>;
    encodedGenericChangeset(e: T): import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
        index: import("@sinclair/typebox").TNumber;
        nodeChange: T;
    }>>;
}
export declare const EncodedGenericChange: <NodeChangesetSchema extends TSchema>(tNodeChangeset: NodeChangesetSchema) => import("@sinclair/typebox").TObject<{
    index: import("@sinclair/typebox").TNumber;
    nodeChange: NodeChangesetSchema;
}>;
export declare type EncodedGenericChange<Schema extends TSchema = TAnySchema> = Static<ReturnType<Wrapper<Schema>["encodedGenericChange"]>>;
export declare const EncodedGenericChangeset: <NodeChangesetSchema extends TSchema>(tNodeChangeset: NodeChangesetSchema) => import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
    index: import("@sinclair/typebox").TNumber;
    nodeChange: NodeChangesetSchema;
}>>;
export declare type EncodedGenericChangeset<Schema extends TSchema = TAnySchema> = Static<ReturnType<Wrapper<Schema>["encodedGenericChangeset"]>>;
export {};
//# sourceMappingURL=genericFieldKindFormat.d.ts.map