/**
 * Invite types and client-safe schemas.
 *
 * Defines the runtime types for the invite system: invite creation,
 * matching, and claiming.
 *
 * @module
 */
import { z } from 'zod';
import { Uuid } from '@fuzdev/fuz_util/id.js';
import { Username, Email } from '../primitive_schemas.js';
/** Invite row from the database. */
export interface Invite {
    id: Uuid;
    email: Email | null;
    username: Username | null;
    claimed_by: Uuid | null;
    claimed_at: string | null;
    created_at: string;
    created_by: Uuid | null;
}
/** Zod schema for client-safe invite data. */
export declare const InviteJson: z.ZodObject<{
    id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
    email: z.ZodNullable<z.ZodEmail>;
    username: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    claimed_by: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
    claimed_at: z.ZodNullable<z.ZodString>;
    created_at: z.ZodString;
    created_by: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
}, z.core.$strict>;
export type InviteJson = z.infer<typeof InviteJson>;
/** Zod schema for invite data with resolved creator/claimer usernames. */
export declare const InviteWithUsernamesJson: z.ZodObject<{
    id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
    email: z.ZodNullable<z.ZodEmail>;
    username: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    claimed_by: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
    claimed_at: z.ZodNullable<z.ZodString>;
    created_at: z.ZodString;
    created_by: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
    created_by_username: z.ZodNullable<z.ZodString>;
    claimed_by_username: z.ZodNullable<z.ZodString>;
}, z.core.$strict>;
export type InviteWithUsernamesJson = z.infer<typeof InviteWithUsernamesJson>;
/** Input for creating an invite. */
export interface CreateInviteInput {
    email?: Email | null;
    username?: Username | null;
    created_by: Uuid | null;
}
//# sourceMappingURL=invite_schema.d.ts.map