import type { APIParameters, APIValues, Endpoint, RequestBody } from '@axium/core/api';
import { $API } from '@axium/core/api';
import type { RequestMethod } from '@axium/core/requests';
export declare let token: string | null;
export declare function setToken(value: string | null): void;
export declare let prefix: string;
export declare function setPrefix(value: string): void;
export declare function fetchAPI<const E extends Endpoint, const M extends keyof $API[E] & RequestMethod>(method: M, endpoint: E, data?: RequestBody<M, E>, ...params: APIParameters<E>): Promise<M extends keyof APIValues[E] ? (APIValues[E][M] extends readonly [unknown, infer R] ? R : APIValues[E][M]) : unknown>;
