import type { CreateAxiosDefaults, InternalAxiosRequestConfig } from 'axios';
/**
 * createCrxAxios 的入参配置。
 *
 * 注意：__id__ 不要业务方手动传，由 Vite 插件 crxAxiosIdPlugin 在编译期按源文件路径注入。
 */
export interface CreateCrxAxiosConfig extends CreateAxiosDefaults {
    baseURL: string;
    /**服务器调用成功的 code 一般是 0 或 200 */
    successCode: number;
    /**
     * @internal
     * 编译期注入的 service 唯一标识，等于源文件相对路径（去 src/ 前缀和后缀），
     * 例如 "api/basic/request"。
     *
     * - 业务代码 **不要手动传**
     * - 同一源文件多次调用 createCrxAxios 会得到相同 __id__，第二次会抛错
     * - 桥接两端（contentScript / background）通过 __id__ 匹配同一个 service
     */
    __id__?: string;
}
/** createCrxAxios 的可选钩子 */
export interface CreateCrxAxiosOptions {
    /**业务自定义请求拦截器，会在内置拦截器之后执行 */
    requestInterceptors?: (cfg: InternalAxiosRequestConfig<any>) => any;
}
