import { ClerkError } from "../errors/clerkError.js";
import { ClerkResource } from "./resource.js";
//#region src/types/waitlist.d.ts
interface WaitlistResource extends ClerkResource {
  /**
   * The unique identifier for the waitlist entry. `''` if the user has not joined the waitlist yet.
   */
  readonly id: string;
  /**
   * The date and time the waitlist entry was created. `null` if the user has not joined the waitlist yet.
   */
  readonly createdAt: Date | null;
  /**
   * The date and time the waitlist entry was last updated. `null` if the user has not joined the waitlist yet.
   */
  readonly updatedAt: Date | null;
  /**
   * Used to add the provided `emailAddress` to the waitlist.
   */
  join: (params: JoinWaitlistParams) => Promise<{
    error: ClerkError | null;
  }>;
}
/** @generateWithEmptyComment */
type JoinWaitlistParams = {
  /**
   * The email address of the user to add to the waitlist.
   */
  emailAddress: string;
};
//#endregion
export { JoinWaitlistParams, WaitlistResource };