import { IApiClient } from '..';
export interface BaseOptions<T extends readonly string[]> {
    include?: T;
}
export type BaseAppendResponse<T extends readonly string[], TMap> = {
    [K in T[number]]: K extends keyof TMap ? TMap[K] : never;
};
export declare abstract class BaseService<TAppendOptions extends string, TAppendResponseMap> {
    protected apiClient: IApiClient;
    constructor(apiClient: IApiClient);
    protected getByIdWithAppendToResponse<T extends readonly TAppendOptions[], TResult = Record<string, unknown>>(endpoint: string, id: string | number, options?: BaseOptions<T>): Promise<TResult & BaseAppendResponse<T, TAppendResponseMap>>;
}
//# sourceMappingURL=BaseService.d.ts.map