import { TapInfo } from './keys';
import { ResourceKeyMapping, TapResourceKey } from './tap-resource-api';
export interface TapInfoKey {
    key: TapResourceKey;
    params?: any[];
}
export type TapInfoKeyObjectOrString = TapInfoKey | TapResourceKey | TapInfo;
export interface TapInfoHolder<T = any> {
    error?: Error;
    value?: T;
    loadDate?: Date;
}
export type GetResponseType<K extends TapInfoKeyObjectOrString> = K extends TapInfoKey ? GetResponseTypeFromString<K['key']> : K extends keyof ResourceKeyMapping ? GetResponseTypeFromString<K> : never;
type GetResponseTypeFromString<K extends keyof ResourceKeyMapping> = ResourceKeyMapping[K]['responseType'];
export type Lwm2mEnum = {
    [key: string | number]: string | number;
};
export type EnumInfo = {
    id: string;
    data: Lwm2mEnum;
};
export {};
