29 lines
1.5 KiB
TypeScript
29 lines
1.5 KiB
TypeScript
import { CreateExpenseResponse } from './methods/createExpense';
|
|
import { CreateGroupResponse } from './methods/createGroup';
|
|
import { CreatePaymentResponse } from './methods/createPayment';
|
|
import { CreatePersonResponse } from './methods/createPerson';
|
|
import { GetCurrencyRatesResponse } from './methods/getCurrencyRates';
|
|
import { GetFileWrapperResponse } from './methods/getFileWrapper';
|
|
import { UpdateEntryResponse } from './methods/updateEntry';
|
|
import { UpdateGroupResponse } from './methods/updateGroup';
|
|
import { UpdatePersonResponse } from './methods/updatePerson';
|
|
import { RequestConfig } from './requestConfig';
|
|
export declare const executeRequestObjects: <T extends RequestObject[]>(config: RequestConfig, requestsInput: T) => Promise<{ [K in keyof T]: IdToResponseTypesMap[T[K]["id"]]; }>;
|
|
export declare const wrapRequestObject: <T extends RequestObject, Args extends [RequestConfig, ...unknown[]]>(func: (...args: Args) => T | Promise<T> | T[] | Promise<T[]>) => (...args: Args) => Promise<IdToResponseTypesMap[T["id"]][]>;
|
|
export interface IdToResponseTypesMap {
|
|
createExpense: CreateExpenseResponse;
|
|
createPayment: CreatePaymentResponse;
|
|
updateGroup: UpdateGroupResponse;
|
|
updatePerson: UpdatePersonResponse;
|
|
updateEntry: UpdateEntryResponse;
|
|
createGroup: CreateGroupResponse;
|
|
createPerson: CreatePersonResponse;
|
|
getCurrencyRates: GetCurrencyRatesResponse;
|
|
getFileWrapper: GetFileWrapperResponse;
|
|
}
|
|
export type RequestObject = {
|
|
id: keyof IdToResponseTypesMap;
|
|
path: string;
|
|
method: string;
|
|
body: unknown;
|
|
};
|