/**
 * File was automatically generated using json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND.
 * Instead, modify the source file https://formats.openag.io/oada/websockets/change.schema.json of @oada/formats
 * and run `$ yarn build` to regenerate this file.
 */
/**
 * $id of the source schema
 * @see {@link https://formats.openag.io/oada/websockets/change.schema.json}
 */
export declare const $id = "https://formats.openag.io/oada/websockets/change.schema.json";
/**
 * Returns true if val is a @type Change, false otherwise
 */
export declare function is(val: any): val is Change;
/**
 * Asserts that val is a @type Change
 */
export declare function assert(val: any): asserts val is Change;
export default Change;
/**
 * This interface was referenced by `Change`'s JSON-Schema
 * via the `definition` "id".
 */
export declare type Id = string;
/**
 * The represenation of a path within an OADA server
 *
 * This interface was referenced by `Change`'s JSON-Schema
 * via the `definition` "path_leftover".
 */
export declare type PathLeftover = string;
/**
 * This is the format of an OADA websocket change notification (server to client)
 */
export interface Change {
    requestId: [Id, ...Id[]];
    /**
     * _id identifies a resource in the OADA API.
     */
    resourceId: string;
    path_leftover: [PathLeftover, ...PathLeftover[]] | PathLeftover;
    /**
     * Wrapper type for any version of an OADA change document.
     */
    change: {
        /**
         * Indicates the type of change that occured.
         *
         * This interface was referenced by `undefined`'s JSON-Schema
         * via the `definition` "type".
         */
        type: "merge" | "delete";
        /**
         * The contents of what was changed.
         */
        body: {
            [k: string]: unknown;
        };
        [k: string]: unknown;
    } | {
        type: "merge" | "delete";
        /**
         * The contents of what was changed.
         */
        body: {
            [k: string]: unknown;
        };
        path: PathLeftover;
        /**
         * _id identifies a resource in the OADA API.
         */
        resource_id: string;
        [k: string]: unknown;
    }[];
    [k: string]: unknown;
}
//# sourceMappingURL=change.d.ts.map