import type { Snippet } from 'svelte';
import type { PartialAuthLocale } from '../../../i18n/keys.js';
import type { CsrfClientOptions } from '../../csrf.js';
import type { AuthPageSlotClasses } from '../types.js';
/**
* @summary The ready-made page that sends a password reset link.
* @description Pre-built forgot-password page. Sends POST to `apiPath` (default `/api/auth/forgot-password`).
* Pair with `createForgotPasswordHandler(authDeps)` on the server. Timing-safe to prevent email enumeration.
*
* @tag form
* @related ResetPasswordPage
* @related LoginPage
*
* @example
* ```svelte
*
* ```
*/
export interface ForgotPasswordPageProps {
/**
* Locale overrides, deep-merged over the active built-in bundle (resolved
* from the i18n context). Pass any subset, from a single string to a whole tree.
*/
t?: PartialAuthLocale;
/** URL for the login page link. @default '/auth/login' */
loginUrl?: string;
/** API endpoint for the reset-request. @default '/api/auth/forgot-password' */
apiPath?: string;
/** CSRF cookie/header names. Only needed when the server overrides the defaults via `config.csrf`. Mutating requests echo the token automatically. */
csrf?: CsrfClientOptions;
/** Custom fetch implementation for all API calls. Defaults to the global `fetch`. Useful for mock backends in demos/tests or custom retry/auth layers. */
fetcher?: typeof globalThis.fetch;
/** Content rendered between the heading and the form. */
header?: Snippet;
/** Content rendered below the form, above links. */
footer?: Snippet;
/** Replaces the link area below the form. */
links?: Snippet;
/** Strip all default styling. */
unstyled?: boolean;
/** Per-slot class overrides. Keys: `root`, `card`, `title`, `form`, `field`, `submit`, `error`, `success`, `links`. */
slotClasses?: AuthPageSlotClasses;
/**
* Apply a named preset registered via ``.
* Resolves after the provider defaults and before this instance's own
* `slotClasses`, so a project-wide look lives in one place instead of being
* repeated at every usage site.
*/
preset?: string;
/** Extra classes on the root element. */
class?: string;
}
export type { AuthPageSlotClasses } from '../types.js';
export { default as ForgotPasswordPage } from './ForgotPasswordPage.svelte';