type GetterKeys<T> = {
    [K in keyof T]: T[K] extends () => any ? never : K;
}[keyof T];
type FieldSelector<T> = {
    type: string;
    fields: ReadonlyArray<GetterKeys<T>>;
};
declare function createJsonApiInclusion<T>(dataType: string, fields: ReadonlyArray<GetterKeys<T>>): FieldSelector<T>;

type ApiRequestDataTypeInterface = {
    name: string;
    cache?: string;
    inclusions?: Record<string, {
        types?: string[];
        fields?: FieldSelector<any>[];
    }>;
    model: new () => any;
};

export { type ApiRequestDataTypeInterface as A, type FieldSelector as F, type GetterKeys as G, createJsonApiInclusion as c };
