import { type OAuthProvider } from "@orcestr/auth-core"; import { type FlexProps } from "@orcestr/ui"; import { type ComponentType } from "react"; export type OAuthProviderButtonProps = { provider: OAuthProvider; label: string; onClick: () => void; disabled?: boolean; }; export type OAuthProviderButtonComponent = ComponentType; export type OAuthButtonsPlacement = "before-fields" | "after-submit" | "after-links"; export type OAuthAuthorizeHandler = (provider: OAuthProvider, clientId: string, next: string, callbackPayload?: Record) => void | Promise; export type OAuthButtonsOptions = { placement?: OAuthButtonsPlacement; direction?: "row" | "column"; align?: FlexProps["a"]; justify?: FlexProps["j"]; gap?: FlexProps["g"]; className?: string; buttonComponent?: OAuthProviderButtonComponent; buttonComponents?: Partial>; authorizeHandler?: OAuthAuthorizeHandler; autoAuthorizeProvider?: OAuthProvider; }; export type OAuthAuthorizeRequest = { provider: OAuthProvider; authorize: (callbackPayload?: Record) => Promise; }; export type OAuthButtonsProps = OAuthButtonsOptions & { providers: OAuthProvider[]; clientIds: Partial>; next: string; disabled?: boolean; onAuthorize?: (request: OAuthAuthorizeRequest) => void | Promise; }; export declare function OAuthButtons({ providers, clientIds, next, direction, align, justify, gap, className, buttonComponent, buttonComponents, authorizeHandler, autoAuthorizeProvider, onAuthorize, disabled, }: OAuthButtonsProps): import("react/jsx-runtime").JSX.Element | null; //# sourceMappingURL=OAuthButtons.d.ts.map