import { Observable } from "rxjs";
import { LoggerService } from "@nova-ui/bits";
import { RegistryService } from "./registry-service";
import { IAddFormattersOptions } from "./types";
import { IFormatterDefinition, ITableFormatterDefinition } from "../components/types";
export declare abstract class FormatterRegistryService<TFormatter extends IFormatterDefinition = IFormatterDefinition> extends RegistryService<TFormatter> {
    /** @deprecated use 'stateChanged$' instead - NUI-5852 */
    formattersStateChanged$: Observable<TFormatter[]>;
    /** @deprecated use 'addItems' instead - NUI-5852 */
    addFormatters(formatters: TFormatter[], options?: IAddFormattersOptions): void;
    /** @deprecated use 'getItems' instead - NUI-5852 */
    getFormatters(): TFormatter[];
    protected getItemKey(item: TFormatter): string;
}
export declare class TableFormatterRegistryService extends FormatterRegistryService<ITableFormatterDefinition> {
    constructor(logger: LoggerService);
}
export declare class KpiFormattersRegistryService extends FormatterRegistryService<IFormatterDefinition> {
    constructor(logger: LoggerService);
}
export declare class RiskScoreFormattersRegistryService extends FormatterRegistryService<IFormatterDefinition> {
    constructor(logger: LoggerService);
}
export declare class ProportionalDonutContentFormattersRegistryService extends FormatterRegistryService<IFormatterDefinition> {
    constructor(logger: LoggerService);
}
export declare class ProportionalLegendFormattersRegistryService extends FormatterRegistryService<IFormatterDefinition> {
    constructor(logger: LoggerService);
}
