export interface SimpleNamedEntity extends SimpleEntity<string> {
}
export interface SimpleEntity<T> {
    id: T;
    name: string;
}
export interface SimpleParentEntity<T> {
    parentId: T;
    data: SimpleEntity<T>[];
}
export interface ParentEntity<TKey, TData> {
    parentId: TKey;
    data: TData[];
}
export declare const nameof: <T>(name: Extract<keyof T, string>) => string;
export declare const namesof: <T, U>(first: Extract<keyof T, string>, second: Extract<keyof U, string>) => string;
export declare function flattenObject<T>(data: any): T;
