import React, { PropsWithChildren } from "react"; export declare type OAuthProvider = { name: string; icon?: React.ReactNode; label?: string; }; export interface LoginFormTypes { email?: string; password?: string; remember?: boolean; providerName?: string; redirectPath?: string; } export interface RegisterFormTypes { email?: string; password?: string; providerName?: string; } export interface ForgotPasswordFormTypes { email?: string; } export interface UpdatePasswordFormTypes { password?: string; confirmPassword?: string; } /** * This should be the base type for `AuthPage` component implementations in UI integrations. */ export declare type AuthPageProps, TContentProps extends {} = Record, TFormProps extends {} = Record> = (PropsWithChildren<{ /** * @description The type of the auth page. * @default "login" * @optional */ type?: "login"; /** * @description Providers array for login with third party auth services. * @type [OAuthProvider](/docs/api-reference/core/components/auth-page/#interface) * @optional */ providers?: OAuthProvider[]; /** * @description Render a redirect to login page button node. If set to false, login button will not be rendered. * @default `"/login"` * @optional */ loginLink?: React.ReactNode; /** * @description Render a redirect to register page button node. If set to false, register button will not be rendered. * @default `"/register"` * @optional */ registerLink?: React.ReactNode; /** * @description Render a redirect to forgot password page button node. If set to false, forgot password button will not be rendered. * @default `"/forgot-password"` * @optional */ forgotPasswordLink?: React.ReactNode; /** * @description Render a remember me button node. If set to false, remember me button will not be rendered. * @optional */ rememberMe?: React.ReactNode; }> | PropsWithChildren<{ /** * @description The type of the auth page. * @optional */ type: "register"; /** * @description Providers array for login with third party auth services. * @optional */ providers?: OAuthProvider[]; }> | PropsWithChildren<{ /** * @description The type of the auth page. * @optional */ type: "forgotPassword"; /** * @description render a redirect to login page button node. If set to false, login button will not be rendered. * @optional */ loginLink?: React.ReactNode; }> | PropsWithChildren<{ /** * @description The type of the auth page. * @optional */ type: "updatePassword"; }>) & { /** * @description The props that will be passed to the wrapper component. * @optional */ wrapperProps?: TWrapperProps; /** * @description The props that will be passed to the content component. * @optional */ contentProps?: TContentProps; /** * @description This method gives you the ability to render a custom content node. * @optional */ renderContent?: (content: React.ReactNode) => React.ReactNode; /** * @description Can be used to pass additional properties for the `Form` * @optional */ formProps?: TFormProps; }; /** * This should be the base type for `AuthPage` `Login` component implementations in UI integrations. */ export declare type LoginPageProps, TContentProps extends {} = Record, TFormProps extends {} = Record> = PropsWithChildren<{ providers?: OAuthProvider[]; registerLink?: React.ReactNode; forgotPasswordLink?: React.ReactNode; rememberMe?: React.ReactNode; wrapperProps?: TWrapperProps; renderContent?: (content: React.ReactNode) => React.ReactNode; contentProps?: TContentProps; formProps?: TFormProps; }>; /** * This should be the base type for `AuthPage` `Register` component implementations in UI integrations. */ export declare type RegisterPageProps, TContentProps extends {} = Record, TFormProps extends {} = Record> = PropsWithChildren<{ providers?: OAuthProvider[]; loginLink?: React.ReactNode; wrapperProps?: TWrapperProps; renderContent?: (content: React.ReactNode) => React.ReactNode; contentProps?: TContentProps; formProps?: TFormProps; }>; /** * This should be the base type for `AuthPage` `Reset Password` component implementations in UI integrations. */ export declare type ForgotPasswordPageProps, TContentProps extends {} = Record, TFormProps extends {} = Record> = PropsWithChildren<{ loginLink?: React.ReactNode; wrapperProps?: TWrapperProps; renderContent?: (content: React.ReactNode) => React.ReactNode; contentProps?: TContentProps; formProps?: TFormProps; }>; /** * This should be the base type for `AuthPage` `Update Password` component implementations in UI integrations. */ export declare type UpdatePasswordPageProps, TContentProps extends {} = Record, TFormProps extends {} = Record> = PropsWithChildren<{ wrapperProps?: TWrapperProps; renderContent?: (content: React.ReactNode) => React.ReactNode; contentProps?: TContentProps; formProps?: TFormProps; }>; //# sourceMappingURL=auth.d.ts.map