export type SingleOrderableMapping> = { func: (input: TInput) => TInput | TOutput; } & Orderable; export type Orderable = { /** * Defines the order in which is function is applied. * This can be used to control the sequence of operations when multiple are applied. * * The higher the order, the earlier it is applied. * * @default 0 */ order?: number; }; /** * One pattern that we use and provide in the feature API is the ability to provide mappers for configurations and data. * The `OrderableMapping` is an abstraction of this pattern, where any count of mappers can be defined. */ export type OrderableMapping = SingleOrderableMapping | SingleOrderableMapping[]; /** * Unwraps and orders the mappers for a given key of a feature set. * The returned array of mappings can then be applied using the `applyMapping` function. */ export declare const prepareMapping: | undefined; }[], K extends PropertyKey>(features: F, key: K) => SingleOrderableMapping>[]; export declare const applyMapping: (mapping: SingleOrderableMapping[], input: T) => T;