export type ApiHandlerOptions = {
    throwOnError?: boolean;
};
export type ApiHandlerResult<TData> = {
    ok: true;
    data: TData;
} | {
    ok: false;
    error: Error;
};
export type Handler<TArgObject, TData> = {
    (args: TArgObject, options: {
        throwOnError: true;
    }): Promise<TData>;
    (args: TArgObject, options?: {
        throwOnError?: false;
    }): Promise<ApiHandlerResult<TData>>;
};
export declare const withSafeApi: <TArgObject, TData>(apiCallback: (args: TArgObject) => TData | Promise<TData>) => Handler<TArgObject, TData>;
