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";
import * as i0 from "@angular/core";
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);
    static ɵfac: i0.ɵɵFactoryDeclaration<TableFormatterRegistryService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TableFormatterRegistryService>;
}
export declare class KpiFormattersRegistryService extends FormatterRegistryService<IFormatterDefinition> {
    constructor(logger: LoggerService);
    static ɵfac: i0.ɵɵFactoryDeclaration<KpiFormattersRegistryService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<KpiFormattersRegistryService>;
}
export declare class RiskScoreFormattersRegistryService extends FormatterRegistryService<IFormatterDefinition> {
    constructor(logger: LoggerService);
    static ɵfac: i0.ɵɵFactoryDeclaration<RiskScoreFormattersRegistryService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<RiskScoreFormattersRegistryService>;
}
export declare class ProportionalDonutContentFormattersRegistryService extends FormatterRegistryService<IFormatterDefinition> {
    constructor(logger: LoggerService);
    static ɵfac: i0.ɵɵFactoryDeclaration<ProportionalDonutContentFormattersRegistryService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ProportionalDonutContentFormattersRegistryService>;
}
export declare class ProportionalLegendFormattersRegistryService extends FormatterRegistryService<IFormatterDefinition> {
    constructor(logger: LoggerService);
    static ɵfac: i0.ɵɵFactoryDeclaration<ProportionalLegendFormattersRegistryService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ProportionalLegendFormattersRegistryService>;
}
