import { OptionsExpander } from '../models/config-bean-prop/types';

export interface ToUnitConverterSystem {
    iface: "system";
    system: string;
}
export interface ToUnitConverterSystemUnit {
    iface: "systemunit";
    system: string;
    unit: string;
}
export interface ToUnitConverterMeasure {
    iface: "measure";
    measure: string;
}
export interface ToUnitConverterUnit {
    iface: "unit";
    unit: string;
}
export type ToUnitConverter = ToUnitConverterSystem | ToUnitConverterSystemUnit | ToUnitConverterMeasure | ToUnitConverterUnit;
export interface UnitConverter {
    system?: string;
    measure?: string;
    unit?: string;
    alias?: string;
}
interface KosConfigParams {
    path: string;
    attribute: string;
    formatter?: Intl.NumberFormatOptions | ((system: string) => Intl.NumberFormatOptions);
    optionsExpander?: OptionsExpander;
    lazy?: boolean;
    serviceBasePath?: string;
    converter?: {
        measure?: string;
        from?: UnitConverter | string;
        to?: UnitConverter | string;
    };
}
export declare function kosConfigProperty(params: KosConfigParams): (target: {} | any, name: PropertyKey) => any;
export {};
//# sourceMappingURL=kos-config-bean-prop.d.ts.map