import { RouteDescriptor, RouteHandler } from "../../route.mjs"; import { ClientPlugin } from "../../define-plugin.mjs"; import { camelizeKeys } from "../../helpers.mjs"; import { LinkOAuthInput, OAuthAccount, OAuthAuthorizeQuery, OAuthAuthorizeResult, OAuthTokens, SignInOAuthInput } from "./types.mjs"; //#region src/plugins/oauth/index.d.ts declare function oauthClientPlugin(): ClientPlugin<"oauth", "/oauth", [RouteDescriptor; }>, RouteDescriptor; }>, RouteDescriptor<{ provider: string; }, void, { readonly method: "DELETE"; readonly path: "/:provider/unlink"; readonly as: "social.unlink"; readonly params: readonly ["provider"]; }>, RouteDescriptor, RouteDescriptor<{ provider: string; }, OAuthTokens, { readonly method: "GET"; readonly path: "/:provider/tokens"; readonly as: "social.tokens"; readonly params: readonly ["provider"]; readonly parse: typeof camelizeKeys; }>, RouteDescriptor<{ provider: string; }, OAuthTokens, { readonly method: "POST"; readonly path: "/:provider/tokens/refresh"; readonly as: "social.refreshTokens"; readonly params: readonly ["provider"]; readonly parse: typeof camelizeKeys; }>], Record, unknown, Record>; //#endregion export { type LinkOAuthInput, type OAuthAccount, type OAuthAuthorizeQuery, type OAuthAuthorizeResult, type OAuthTokens, type SignInOAuthInput, oauthClientPlugin };