RestAuthConfig:
    | { mode: "none" }
    | { mode: "bearer"; token: () => string | Promise<string> }
    | { header: string; key: () => string | Promise<string>; mode: "apiKey" }