// @generated by protoc-gen-es v2.11.0 with parameter "target=js+dts"
// @generated from file auth.proto (package auth, syntax proto3)
/* eslint-disable */

import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file auth.proto.
 */
export declare const file_auth: GenFile;

/**
 * @generated from message auth.LoginRequest
 */
export declare type LoginRequest = Message<"auth.LoginRequest"> & {
  /**
   * @generated from field: string username = 1;
   */
  username: string;

  /**
   * @generated from field: string password = 2;
   */
  password: string;
};

/**
 * Describes the message auth.LoginRequest.
 * Use `create(LoginRequestSchema)` to create a new message.
 */
export declare const LoginRequestSchema: GenMessage<LoginRequest>;

/**
 * @generated from message auth.LoginResponse
 */
export declare type LoginResponse = Message<"auth.LoginResponse"> & {
  /**
   * @generated from field: string access_token = 1;
   */
  accessToken: string;

  /**
   * @generated from field: string refresh_token = 2;
   */
  refreshToken: string;

  /**
   * Unix timestamp (seconds) when the access token expires.
   *
   * @generated from field: int64 expires_at = 3;
   */
  expiresAt: bigint;
};

/**
 * Describes the message auth.LoginResponse.
 * Use `create(LoginResponseSchema)` to create a new message.
 */
export declare const LoginResponseSchema: GenMessage<LoginResponse>;

/**
 * @generated from message auth.RefreshTokenRequest
 */
export declare type RefreshTokenRequest = Message<"auth.RefreshTokenRequest"> & {
  /**
   * @generated from field: string refresh_token = 1;
   */
  refreshToken: string;
};

/**
 * Describes the message auth.RefreshTokenRequest.
 * Use `create(RefreshTokenRequestSchema)` to create a new message.
 */
export declare const RefreshTokenRequestSchema: GenMessage<RefreshTokenRequest>;

/**
 * @generated from message auth.RefreshTokenResponse
 */
export declare type RefreshTokenResponse = Message<"auth.RefreshTokenResponse"> & {
  /**
   * @generated from field: string access_token = 1;
   */
  accessToken: string;

  /**
   * @generated from field: string refresh_token = 2;
   */
  refreshToken: string;

  /**
   * @generated from field: int64 expires_at = 3;
   */
  expiresAt: bigint;
};

/**
 * Describes the message auth.RefreshTokenResponse.
 * Use `create(RefreshTokenResponseSchema)` to create a new message.
 */
export declare const RefreshTokenResponseSchema: GenMessage<RefreshTokenResponse>;

/**
 * Authentication service — token issuance and refresh.
 * This service is exposed WITHOUT the auth interceptor (pre-authentication).
 *
 * @generated from service auth.AuthService
 */
export declare const AuthService: GenService<{
  /**
   * Authenticate with username/password, receive JWT tokens.
   *
   * @generated from rpc auth.AuthService.Login
   */
  login: {
    methodKind: "unary";
    input: typeof LoginRequestSchema;
    output: typeof LoginResponseSchema;
  },
  /**
   * Exchange a refresh token for a new access token.
   *
   * @generated from rpc auth.AuthService.RefreshToken
   */
  refreshToken: {
    methodKind: "unary";
    input: typeof RefreshTokenRequestSchema;
    output: typeof RefreshTokenResponseSchema;
  },
}>;

