import { HookEndpointContext } from 'better-auth';

type Matcher = (context: HookEndpointContext) => boolean;
/**
 * Path is one of `[
 *   '/sign-up/email',
 *   '/email-otp/verify-email',
 *   '/sign-in/email-otp',
 *   '/sign-in/magic-link',
 *   '/sign-in/email',
 *   '/email-otp/request-password-reset',
 *   '/forget-password/email-otp',
 *   '/email-otp/reset-password',
 *   '/email-otp/create-verification-otp',
 *   '/email-otp/get-verification-otp',
 *   '/email-otp/send-verification-otp',
 *   '/request-password-reset',
 *   '/forget-password',
 *   '/send-verification-email',
 *   '/change-email'
 * ]`.
 * @param context Request context
 * @param context.path Request path
 * @returns boolean
 */
declare const allEmail: Matcher;
/**
 * Path is one of `[
 *   '/email-otp/verify-email',
 *   '/sign-in/email-otp',
 *   '/sign-in/magic-link',
 *   '/sign-in/email',
 *   '/email-otp/request-password-reset',
 *   '/email-otp/reset-password',
 *   '/email-otp/create-verification-otp',
 *   '/email-otp/get-verification-otp',
 *   '/email-otp/send-verification-otp',
 *   '/request-password-reset',
 *   '/send-verification-email'
 * ]`.
 * @param context Request context
 * @param context.path Request path
 * @returns boolean
 */
declare const allEmailSignIn: Matcher;
/**
 * Path is `'/sign-up/email'`.
 * @param context Request context
 * @param context.path Request path
 * @returns boolean
 */
declare const emailSignUp: Matcher;
/**
 * Path is `'/sign-in/email'`, used to log the user in.
 * @param context Request context
 * @param context.path Request path
 * @returns boolean
 */
declare const emailSignIn: Matcher;
/**
 * Path is `'/request-password-reset' || '/forget-password'`, used in the forgot password flow..
 * @param context Request context
 * @param context.path Request path
 * @returns boolean
 */
declare const emailForget: Matcher;
/**
 * Path is `'/send-verification-email'`, used to log the user in.
 * @param context Request context
 * @param context.path Request path
 * @returns boolean
 */
declare const emailSendVerification: Matcher;
/**
 * Path is `'/change-email'`, used to update the user's email address.
 * @param context Request context
 * @param context.path Request path
 * @returns boolean
 */
declare const changeEmail: Matcher;
/**
 * Path is `'/email-otp/verify-email'`, used by the [Email
 * OTP](https://www.better-auth.com/docs/plugins/email-otp) plugin.
 * @param context Request context
 * @param context.path Request path
 * @returns boolean
 */
declare const emailOtpVerify: Matcher;
/**
 * Path is `'/email-otp/request-password-reset' || '/forget-password/email-otp'`, used by the [Email
 * OTP](https://www.better-auth.com/docs/plugins/email-otp) plugin.
 * @param context Request context
 * @param context.path Request path
 * @returns boolean
 */
declare const emailOtpForget: Matcher;
/**
 * Path is `'/email-otp/reset-password'`, used by the [Email
 * OTP](https://www.better-auth.com/docs/plugins/email-otp) plugin.
 * @param context Request context
 * @param context.path Request path
 * @returns boolean
 */
declare const emailOtpReset: Matcher;
/**
 * Path is `'/email-otp/create-verification-otp'`, used by the [Email
 * OTP](https://www.better-auth.com/docs/plugins/email-otp) plugin.
 * @param context Request context
 * @param context.path Request path
 * @returns boolean
 */
declare const emailOtpCreateVerification: Matcher;
/**
 * Path is `'/email-otp/get-verification-otp'`, used by the [Email
 * OTP](https://www.better-auth.com/docs/plugins/email-otp) plugin.
 * @param context Request context
 * @param context.path Request path
 * @returns boolean
 */
declare const emailOtpGetVerification: Matcher;
/**
 * Path is `'/email-otp/send-verification-otp'`, used by the [Email
 * OTP](https://www.better-auth.com/docs/plugins/email-otp) plugin.
 * @param context Request context
 * @param context.path Request path
 * @returns boolean
 */
declare const emailOtpSendVerification: Matcher;
/**
 * Path is `'/sign-in/magic-link'`, used by the [Magic
 * link](https://www.better-auth.com/docs/plugins/magic-link) plugin.
 * @param context Request context
 * @param context.path Request path
 * @returns boolean
 */
declare const magicLinkSignIn: Matcher;

export { type Matcher, allEmail, allEmailSignIn, changeEmail, emailForget, emailOtpCreateVerification, emailOtpForget, emailOtpGetVerification, emailOtpReset, emailOtpSendVerification, emailOtpVerify, emailSendVerification, emailSignIn, emailSignUp, magicLinkSignIn };
