import type { RequestOptions } from '../../typings/admin/comm/request';
/** 宿主注入的 HTTP 能力（admin / web / uni 各自实现） */
export type ClientRequestFn = <T>(path: string, init?: RequestOptions) => Promise<T>;
/** 生产打包内的 eps.json：{ eps, admin, app, dict } */
export type EpsStaticBundle = {
    /** 构建时写入的服务端 vome.eps；仅 true 时生产允许再请求 */
    eps?: boolean;
    admin?: Record<string, unknown>;
    app?: Record<string, unknown>;
    dict?: Record<string, unknown>;
};
export type ClientHooks = {
    request: ClientRequestFn;
    /** admin / web / uni 的 API 根路径（如 /dev） */
    baseUrl?: string;
    /**
     * 生产环境 loadEps 数据源（打包内 build/eps.json）。
     * DEV 不走此路径；PROD 未注入则 loadEps 抛错（禁止回退 HTTP）。
     */
    loadStaticEps?: () => Promise<EpsStaticBundle | unknown>;
};
/** 各端注入；可多次调用（浅合并，便于 request 与 loadStaticEps 分文件注册） */
export declare function configureClient(next: Partial<ClientHooks> & {
    request?: ClientRequestFn;
}): void;
export declare function getClientRequest(): ClientRequestFn;
export declare function getLoadStaticEps(): ClientHooks['loadStaticEps'];
export declare function getClientBaseUrl(): string;
/**
 * 默认 loadStaticEps：读打包产物根目录 /eps.json
 * （Vite 插件开发态中间件 + closeBundle 拷贝到 dist）
 */
export declare function fetchPackagedEpsJson(): Promise<EpsStaticBundle>;
