/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
/**
 * Any mapping from a string to values of type `T`
 * @alpha
 */
export interface MapLike<T> {
    [index: string]: T;
}
/**
 * A loosely-typed mapping from strings to any value.
 *
 * @remarks Property sets are expected to be JSON-stringify-able.
 *
 * @privateRemarks PropertySet is typed using `any` because when you include
 * custom methods such as toJSON(), JSON.stringify accepts most types other than
 * functions
 * @alpha
 */
export type PropertySet = MapLike<any>;
/**
 * @internal
 */
export declare function matchProperties(a: PropertySet | undefined, b: PropertySet | undefined): boolean;
/**
 * @deprecated This functionality was not intended for public export and will
 * be removed in a future release.
 * @internal
 */
export declare function extend<T>(base: MapLike<T>, extension: MapLike<T> | undefined): MapLike<T>;
/**
 * @deprecated This functionality was not intended for public export and will
 * be removed in a future release.
 * @internal
 */
export declare function clone<T>(extension: MapLike<T> | undefined): MapLike<T> | undefined;
/**
 * @deprecated This functionality was not intended for public export and will
 * be removed in a future release.
 * @internal
 */
export declare function addProperties(oldProps: PropertySet | undefined, newProps: PropertySet): PropertySet;
/**
 * @deprecated This functionality was not intended for public export and will
 * be removed in a future release.
 * @internal
 */
export declare function extendIfUndefined<T>(base: MapLike<T>, extension: MapLike<T> | undefined): MapLike<T>;
/**
 * @deprecated This functionality was not intended for public export and will
 * be removed in a future release.
 * @internal
 */
export declare function createMap<T>(): MapLike<T>;
//# sourceMappingURL=properties.d.ts.map