import { TroubleModel } from '../models/trouble/types';
import { PropertyMapper, DataLoader } from '../../core';

type TroubleRankMapper<AdditionalData extends object = Record<string, any>> = PropertyMapper<TroubleModel<AdditionalData>, number, any>;
type TroubleRoleMapper<AdditionalData extends object = Record<string, any>> = PropertyMapper<TroubleModel<AdditionalData>, string, any>;
export declare class CoreExtensionManager {
    /**
     * Maps the rank property of the trouble into the {@link TroubleModel}
     * */
    registerTroubleRankMapper(troubleRankMapper: TroubleRankMapper): this;
    /**
     * Maps the role property of the trouble into the {@link TroubleModel}
     * */
    registerTroubleRoleMapper(troubleRoleMapper: TroubleRoleMapper): this;
    /**
     * Maps the color property of the trouble into the {@link TroubleModel}
     * */
    registerTroubleColorMapper(troubleColorMapper: TroubleRoleMapper): this;
    registerModelLoader(id: string, loader: DataLoader): void;
    registerCanvasPatternLoader(loader: DataLoader): void;
}
export {};
//# sourceMappingURL=extension-manager.d.ts.map