// Auto-generated by DjangoCFG - see CLAUDE.md
/**
 * Request serializer for sending push notifications.
 * 
 * Request model (no read-only fields).
 */
export interface SendPushRequestRequest {
  /** Notification title */
  title: string;
  /** Notification body */
  body: string;
  /** Notification icon URL */
  icon?: string | null;
  /** URL to open on click */
  url?: string | null;
}

/**
 * Response serializer for send push endpoint.
 * 
 * Response model (includes read-only fields).
 */
export interface SendPushResponse {
  /** Whether send was successful */
  success: boolean;
  /** Number of devices notification was sent to */
  sent_to: number;
}

/**
 * Request serializer for subscribing to push notifications.
 * 
 * Request model (no read-only fields).
 */
export interface SubscribeRequestRequest {
  /** Push service endpoint URL from browser */
  endpoint: string;
  /** Encryption keys (p256dh and auth) */
  keys: Record<string, any>;
}

/**
 * Response serializer for subscription endpoint.
 * 
 * Response model (includes read-only fields).
 */
export interface SubscribeResponse {
  /** Whether subscription was successful */
  success: boolean;
  /** ID of the subscription */
  subscription_id: number;
  /** Whether subscription was newly created */
  created: boolean;
}

/**
 * Response serializer for VAPID public key endpoint.
 * 
 * Response model (includes read-only fields).
 */
export interface VapidPublicKeyResponse {
  /** VAPID public key for client subscription */
  publicKey: string;
}

