import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
import type { Session, User } from "./common_pb.js";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file gfxcafe/oku/account/v1/auth.proto.
 */
export declare const file_gfxcafe_oku_account_v1_auth: GenFile;
/**
 * Request to create an EVM authentication challenge (/auth/evm/challenge)
 *
 * @generated from message gfxcafe.oku.account.v1.EvmChallengeRequest
 */
export type EvmChallengeRequest = Message<"gfxcafe.oku.account.v1.EvmChallengeRequest"> & {
    /**
     * @generated from field: string address = 1;
     */
    address: string;
};
/**
 * Describes the message gfxcafe.oku.account.v1.EvmChallengeRequest.
 * Use `create(EvmChallengeRequestSchema)` to create a new message.
 */
export declare const EvmChallengeRequestSchema: GenMessage<EvmChallengeRequest>;
/**
 * EVM challenge response
 *
 * @generated from message gfxcafe.oku.account.v1.EvmChallengeResponse
 */
export type EvmChallengeResponse = Message<"gfxcafe.oku.account.v1.EvmChallengeResponse"> & {
    /**
     * @generated from field: string workflow_id = 1;
     */
    workflowId: string;
    /**
     * @generated from field: string message = 2;
     */
    message: string;
};
/**
 * Describes the message gfxcafe.oku.account.v1.EvmChallengeResponse.
 * Use `create(EvmChallengeResponseSchema)` to create a new message.
 */
export declare const EvmChallengeResponseSchema: GenMessage<EvmChallengeResponse>;
/**
 * Request to solve EVM authentication challenge (/auth/evm/solve)
 *
 * @generated from message gfxcafe.oku.account.v1.EvmSolveRequest
 */
export type EvmSolveRequest = Message<"gfxcafe.oku.account.v1.EvmSolveRequest"> & {
    /**
     * @generated from field: string workflow_id = 1;
     */
    workflowId: string;
    /**
     * @generated from field: string signature = 2;
     */
    signature: string;
};
/**
 * Describes the message gfxcafe.oku.account.v1.EvmSolveRequest.
 * Use `create(EvmSolveRequestSchema)` to create a new message.
 */
export declare const EvmSolveRequestSchema: GenMessage<EvmSolveRequest>;
/**
 * EVM authentication success response
 *
 * @generated from message gfxcafe.oku.account.v1.EvmSolveResponse
 */
export type EvmSolveResponse = Message<"gfxcafe.oku.account.v1.EvmSolveResponse"> & {
    /**
     * @generated from field: gfxcafe.oku.account.v1.Session session = 1;
     */
    session?: Session;
    /**
     * @generated from field: gfxcafe.oku.account.v1.User user = 2;
     */
    user?: User;
};
/**
 * Describes the message gfxcafe.oku.account.v1.EvmSolveResponse.
 * Use `create(EvmSolveResponseSchema)` to create a new message.
 */
export declare const EvmSolveResponseSchema: GenMessage<EvmSolveResponse>;
/**
 * Request for user information (/auth/user_info)
 *
 * Empty - uses session from headers
 *
 * @generated from message gfxcafe.oku.account.v1.UserInfoRequest
 */
export type UserInfoRequest = Message<"gfxcafe.oku.account.v1.UserInfoRequest"> & {};
/**
 * Describes the message gfxcafe.oku.account.v1.UserInfoRequest.
 * Use `create(UserInfoRequestSchema)` to create a new message.
 */
export declare const UserInfoRequestSchema: GenMessage<UserInfoRequest>;
/**
 * User info response
 *
 * @generated from message gfxcafe.oku.account.v1.UserInfoResponse
 */
export type UserInfoResponse = Message<"gfxcafe.oku.account.v1.UserInfoResponse"> & {
    /**
     * @generated from field: gfxcafe.oku.account.v1.User user = 1;
     */
    user?: User;
    /**
     * @generated from field: gfxcafe.oku.account.v1.Session session = 2;
     */
    session?: Session;
};
/**
 * Describes the message gfxcafe.oku.account.v1.UserInfoResponse.
 * Use `create(UserInfoResponseSchema)` to create a new message.
 */
export declare const UserInfoResponseSchema: GenMessage<UserInfoResponse>;
/**
 * Request to extend session
 *
 * Empty - uses session from headers
 *
 * @generated from message gfxcafe.oku.account.v1.ExtendSessionRequest
 */
export type ExtendSessionRequest = Message<"gfxcafe.oku.account.v1.ExtendSessionRequest"> & {};
/**
 * Describes the message gfxcafe.oku.account.v1.ExtendSessionRequest.
 * Use `create(ExtendSessionRequestSchema)` to create a new message.
 */
export declare const ExtendSessionRequestSchema: GenMessage<ExtendSessionRequest>;
/**
 * Extended session response
 *
 * @generated from message gfxcafe.oku.account.v1.ExtendSessionResponse
 */
export type ExtendSessionResponse = Message<"gfxcafe.oku.account.v1.ExtendSessionResponse"> & {
    /**
     * @generated from field: gfxcafe.oku.account.v1.Session session = 1;
     */
    session?: Session;
};
/**
 * Describes the message gfxcafe.oku.account.v1.ExtendSessionResponse.
 * Use `create(ExtendSessionResponseSchema)` to create a new message.
 */
export declare const ExtendSessionResponseSchema: GenMessage<ExtendSessionResponse>;
/**
 * Logout request
 *
 * Empty - uses session from headers
 *
 * @generated from message gfxcafe.oku.account.v1.LogoutRequest
 */
export type LogoutRequest = Message<"gfxcafe.oku.account.v1.LogoutRequest"> & {};
/**
 * Describes the message gfxcafe.oku.account.v1.LogoutRequest.
 * Use `create(LogoutRequestSchema)` to create a new message.
 */
export declare const LogoutRequestSchema: GenMessage<LogoutRequest>;
/**
 * Logout response
 *
 * @generated from message gfxcafe.oku.account.v1.LogoutResponse
 */
export type LogoutResponse = Message<"gfxcafe.oku.account.v1.LogoutResponse"> & {
    /**
     * @generated from field: bool success = 1;
     */
    success: boolean;
};
/**
 * Describes the message gfxcafe.oku.account.v1.LogoutResponse.
 * Use `create(LogoutResponseSchema)` to create a new message.
 */
export declare const LogoutResponseSchema: GenMessage<LogoutResponse>;
/**
 * Update display name request (/auth/user_info/update/display_name)
 *
 * @generated from message gfxcafe.oku.account.v1.UserInfoUpdateDisplayNameRequest
 */
export type UserInfoUpdateDisplayNameRequest = Message<"gfxcafe.oku.account.v1.UserInfoUpdateDisplayNameRequest"> & {
    /**
     * @generated from field: string display_name = 1;
     */
    displayName: string;
};
/**
 * Describes the message gfxcafe.oku.account.v1.UserInfoUpdateDisplayNameRequest.
 * Use `create(UserInfoUpdateDisplayNameRequestSchema)` to create a new message.
 */
export declare const UserInfoUpdateDisplayNameRequestSchema: GenMessage<UserInfoUpdateDisplayNameRequest>;
/**
 * Update display name response
 *
 * @generated from message gfxcafe.oku.account.v1.UserInfoUpdateDisplayNameResponse
 */
export type UserInfoUpdateDisplayNameResponse = Message<"gfxcafe.oku.account.v1.UserInfoUpdateDisplayNameResponse"> & {
    /**
     * @generated from field: bool success = 1;
     */
    success: boolean;
    /**
     * @generated from field: string message = 2;
     */
    message: string;
};
/**
 * Describes the message gfxcafe.oku.account.v1.UserInfoUpdateDisplayNameResponse.
 * Use `create(UserInfoUpdateDisplayNameResponseSchema)` to create a new message.
 */
export declare const UserInfoUpdateDisplayNameResponseSchema: GenMessage<UserInfoUpdateDisplayNameResponse>;
/**
 * Get bridge info request (/auth/bridge_info)
 *
 * Empty - uses session from headers
 *
 * @generated from message gfxcafe.oku.account.v1.BridgeInfoRequest
 */
export type BridgeInfoRequest = Message<"gfxcafe.oku.account.v1.BridgeInfoRequest"> & {};
/**
 * Describes the message gfxcafe.oku.account.v1.BridgeInfoRequest.
 * Use `create(BridgeInfoRequestSchema)` to create a new message.
 */
export declare const BridgeInfoRequestSchema: GenMessage<BridgeInfoRequest>;
/**
 * Bridge information
 *
 * @generated from message gfxcafe.oku.account.v1.BridgeInfo
 */
export type BridgeInfo = Message<"gfxcafe.oku.account.v1.BridgeInfo"> & {
    /**
     * @generated from field: string bridge_id = 1;
     */
    bridgeId: string;
    /**
     * @generated from field: string bridge_tos_link = 2;
     */
    bridgeTosLink: string;
    /**
     * @generated from field: string bridge_kyc_link = 3;
     */
    bridgeKycLink: string;
};
/**
 * Describes the message gfxcafe.oku.account.v1.BridgeInfo.
 * Use `create(BridgeInfoSchema)` to create a new message.
 */
export declare const BridgeInfoSchema: GenMessage<BridgeInfo>;
/**
 * Get bridge info response
 *
 * @generated from message gfxcafe.oku.account.v1.BridgeInfoResponse
 */
export type BridgeInfoResponse = Message<"gfxcafe.oku.account.v1.BridgeInfoResponse"> & {
    /**
     * @generated from field: gfxcafe.oku.account.v1.BridgeInfo bridge_info = 1;
     */
    bridgeInfo?: BridgeInfo;
};
/**
 * Describes the message gfxcafe.oku.account.v1.BridgeInfoResponse.
 * Use `create(BridgeInfoResponseSchema)` to create a new message.
 */
export declare const BridgeInfoResponseSchema: GenMessage<BridgeInfoResponse>;
/**
 * Set bridge info request (/auth/bridge_info)
 *
 * @generated from message gfxcafe.oku.account.v1.BridgeInfoSetRequest
 */
export type BridgeInfoSetRequest = Message<"gfxcafe.oku.account.v1.BridgeInfoSetRequest"> & {
    /**
     * @generated from field: gfxcafe.oku.account.v1.BridgeInfo bridge_info = 1;
     */
    bridgeInfo?: BridgeInfo;
};
/**
 * Describes the message gfxcafe.oku.account.v1.BridgeInfoSetRequest.
 * Use `create(BridgeInfoSetRequestSchema)` to create a new message.
 */
export declare const BridgeInfoSetRequestSchema: GenMessage<BridgeInfoSetRequest>;
/**
 * Set bridge info response
 *
 * @generated from message gfxcafe.oku.account.v1.BridgeInfoSetResponse
 */
export type BridgeInfoSetResponse = Message<"gfxcafe.oku.account.v1.BridgeInfoSetResponse"> & {
    /**
     * @generated from field: bool success = 1;
     */
    success: boolean;
};
/**
 * Describes the message gfxcafe.oku.account.v1.BridgeInfoSetResponse.
 * Use `create(BridgeInfoSetResponseSchema)` to create a new message.
 */
export declare const BridgeInfoSetResponseSchema: GenMessage<BridgeInfoSetResponse>;
/**
 * Request email login code (/auth/email/challenge)
 *
 * @generated from message gfxcafe.oku.account.v1.EmailChallengeRequest
 */
export type EmailChallengeRequest = Message<"gfxcafe.oku.account.v1.EmailChallengeRequest"> & {
    /**
     * @generated from field: string email = 1;
     */
    email: string;
    /**
     * @generated from field: string url = 2;
     */
    url: string;
};
/**
 * Describes the message gfxcafe.oku.account.v1.EmailChallengeRequest.
 * Use `create(EmailChallengeRequestSchema)` to create a new message.
 */
export declare const EmailChallengeRequestSchema: GenMessage<EmailChallengeRequest>;
/**
 * Email challenge response
 *
 * @generated from message gfxcafe.oku.account.v1.EmailChallengeResponse
 */
export type EmailChallengeResponse = Message<"gfxcafe.oku.account.v1.EmailChallengeResponse"> & {
    /**
     * @generated from field: string email = 1;
     */
    email: string;
    /**
     * @generated from field: bool verified = 2;
     */
    verified: boolean;
};
/**
 * Describes the message gfxcafe.oku.account.v1.EmailChallengeResponse.
 * Use `create(EmailChallengeResponseSchema)` to create a new message.
 */
export declare const EmailChallengeResponseSchema: GenMessage<EmailChallengeResponse>;
/**
 * Verify email request (/auth/email/verify)
 *
 * @generated from message gfxcafe.oku.account.v1.EmailVerifyRequest
 */
export type EmailVerifyRequest = Message<"gfxcafe.oku.account.v1.EmailVerifyRequest"> & {
    /**
     * @generated from field: string email = 1;
     */
    email: string;
    /**
     * @generated from field: string url = 2;
     */
    url: string;
};
/**
 * Describes the message gfxcafe.oku.account.v1.EmailVerifyRequest.
 * Use `create(EmailVerifyRequestSchema)` to create a new message.
 */
export declare const EmailVerifyRequestSchema: GenMessage<EmailVerifyRequest>;
/**
 * Verify email response
 *
 * @generated from message gfxcafe.oku.account.v1.EmailVerifyResponse
 */
export type EmailVerifyResponse = Message<"gfxcafe.oku.account.v1.EmailVerifyResponse"> & {
    /**
     * @generated from field: string email = 1;
     */
    email: string;
    /**
     * @generated from field: bool verified = 2;
     */
    verified: boolean;
};
/**
 * Describes the message gfxcafe.oku.account.v1.EmailVerifyResponse.
 * Use `create(EmailVerifyResponseSchema)` to create a new message.
 */
export declare const EmailVerifyResponseSchema: GenMessage<EmailVerifyResponse>;
/**
 * Confirm email request (/auth/email/confirm)
 *
 * @generated from message gfxcafe.oku.account.v1.EmailConfirmRequest
 */
export type EmailConfirmRequest = Message<"gfxcafe.oku.account.v1.EmailConfirmRequest"> & {
    /**
     * @generated from field: string email = 1;
     */
    email: string;
    /**
     * @generated from field: string code = 2;
     */
    code: string;
};
/**
 * Describes the message gfxcafe.oku.account.v1.EmailConfirmRequest.
 * Use `create(EmailConfirmRequestSchema)` to create a new message.
 */
export declare const EmailConfirmRequestSchema: GenMessage<EmailConfirmRequest>;
/**
 * Confirm email response
 *
 * @generated from message gfxcafe.oku.account.v1.EmailConfirmResponse
 */
export type EmailConfirmResponse = Message<"gfxcafe.oku.account.v1.EmailConfirmResponse"> & {
    /**
     * @generated from field: gfxcafe.oku.account.v1.Session session = 1;
     */
    session?: Session;
};
/**
 * Describes the message gfxcafe.oku.account.v1.EmailConfirmResponse.
 * Use `create(EmailConfirmResponseSchema)` to create a new message.
 */
export declare const EmailConfirmResponseSchema: GenMessage<EmailConfirmResponse>;
/**
 * Merge users request (/auth/manage/merge)
 *
 * @generated from message gfxcafe.oku.account.v1.ManageMergeRequest
 */
export type ManageMergeRequest = Message<"gfxcafe.oku.account.v1.ManageMergeRequest"> & {
    /**
     * @generated from field: string primary_user_id = 1;
     */
    primaryUserId: string;
    /**
     * @generated from field: string primary_session_id = 2;
     */
    primarySessionId: string;
    /**
     * @generated from field: string primary_session_token = 3;
     */
    primarySessionToken: string;
    /**
     * @generated from field: string surrender_user_id = 4;
     */
    surrenderUserId: string;
    /**
     * @generated from field: string surrender_session_id = 5;
     */
    surrenderSessionId: string;
    /**
     * @generated from field: string surrender_session_token = 6;
     */
    surrenderSessionToken: string;
};
/**
 * Describes the message gfxcafe.oku.account.v1.ManageMergeRequest.
 * Use `create(ManageMergeRequestSchema)` to create a new message.
 */
export declare const ManageMergeRequestSchema: GenMessage<ManageMergeRequest>;
/**
 * Merge users response
 *
 * @generated from message gfxcafe.oku.account.v1.ManageMergeResponse
 */
export type ManageMergeResponse = Message<"gfxcafe.oku.account.v1.ManageMergeResponse"> & {
    /**
     * @generated from field: bool success = 1;
     */
    success: boolean;
    /**
     * @generated from field: gfxcafe.oku.account.v1.Session new_session = 2;
     */
    newSession?: Session;
};
/**
 * Describes the message gfxcafe.oku.account.v1.ManageMergeResponse.
 * Use `create(ManageMergeResponseSchema)` to create a new message.
 */
export declare const ManageMergeResponseSchema: GenMessage<ManageMergeResponse>;
/**
 * Remove wallet IDP request (/auth/manage/remove_wallet_idp)
 *
 * @generated from message gfxcafe.oku.account.v1.ManageRemoveWalletIdpRequest
 */
export type ManageRemoveWalletIdpRequest = Message<"gfxcafe.oku.account.v1.ManageRemoveWalletIdpRequest"> & {
    /**
     * @generated from field: string address = 1;
     */
    address: string;
};
/**
 * Describes the message gfxcafe.oku.account.v1.ManageRemoveWalletIdpRequest.
 * Use `create(ManageRemoveWalletIdpRequestSchema)` to create a new message.
 */
export declare const ManageRemoveWalletIdpRequestSchema: GenMessage<ManageRemoveWalletIdpRequest>;
/**
 * Remove wallet IDP response
 *
 * @generated from message gfxcafe.oku.account.v1.ManageRemoveWalletIdpResponse
 */
export type ManageRemoveWalletIdpResponse = Message<"gfxcafe.oku.account.v1.ManageRemoveWalletIdpResponse"> & {
    /**
     * @generated from field: bool success = 1;
     */
    success: boolean;
    /**
     * @generated from field: string message = 2;
     */
    message: string;
};
/**
 * Describes the message gfxcafe.oku.account.v1.ManageRemoveWalletIdpResponse.
 * Use `create(ManageRemoveWalletIdpResponseSchema)` to create a new message.
 */
export declare const ManageRemoveWalletIdpResponseSchema: GenMessage<ManageRemoveWalletIdpResponse>;
/**
 * AuthService handles authentication and session management
 *
 * EVM authentication endpoints (/auth/evm/*)
 *
 * @generated from service gfxcafe.oku.account.v1.AuthService
 */
export declare const AuthService: GenService<{
    /**
     * Create a challenge for EVM wallet authentication (/auth/evm/challenge)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.EvmChallenge
     */
    evmChallenge: {
        methodKind: "unary";
        input: typeof EvmChallengeRequestSchema;
        output: typeof EvmChallengeResponseSchema;
    };
    /**
     * Solve the challenge to authenticate (/auth/evm/solve)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.EvmSolve
     */
    evmSolve: {
        methodKind: "unary";
        input: typeof EvmSolveRequestSchema;
        output: typeof EvmSolveResponseSchema;
    };
    /**
     * Logout and invalidate session (/auth/logout)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.Logout
     */
    logout: {
        methodKind: "unary";
        input: typeof LogoutRequestSchema;
        output: typeof LogoutResponseSchema;
    };
    /**
     * Extend the current session (/auth/extend_session)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.ExtendSession
     */
    extendSession: {
        methodKind: "unary";
        input: typeof ExtendSessionRequestSchema;
        output: typeof ExtendSessionResponseSchema;
    };
    /**
     * Get current user information (/auth/user_info)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.UserInfo
     */
    userInfo: {
        methodKind: "unary";
        input: typeof UserInfoRequestSchema;
        output: typeof UserInfoResponseSchema;
    };
    /**
     * Update user's display name (/auth/user_info/update/display_name)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.UserInfoUpdateDisplayName
     */
    userInfoUpdateDisplayName: {
        methodKind: "unary";
        input: typeof UserInfoUpdateDisplayNameRequestSchema;
        output: typeof UserInfoUpdateDisplayNameResponseSchema;
    };
    /**
     * Get bridge information for the user (/auth/bridge_info)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.BridgeInfo
     */
    bridgeInfo: {
        methodKind: "unary";
        input: typeof BridgeInfoRequestSchema;
        output: typeof BridgeInfoResponseSchema;
    };
    /**
     * Set bridge information for the user (/auth/bridge_info)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.BridgeInfoSet
     */
    bridgeInfoSet: {
        methodKind: "unary";
        input: typeof BridgeInfoSetRequestSchema;
        output: typeof BridgeInfoSetResponseSchema;
    };
    /**
     * Request email login code (/auth/email/challenge)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.EmailChallenge
     */
    emailChallenge: {
        methodKind: "unary";
        input: typeof EmailChallengeRequestSchema;
        output: typeof EmailChallengeResponseSchema;
    };
    /**
     * Verify email with code (/auth/email/verify)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.EmailVerify
     */
    emailVerify: {
        methodKind: "unary";
        input: typeof EmailVerifyRequestSchema;
        output: typeof EmailVerifyResponseSchema;
    };
    /**
     * Confirm email verification (/auth/email/confirm)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.EmailConfirm
     */
    emailConfirm: {
        methodKind: "unary";
        input: typeof EmailConfirmRequestSchema;
        output: typeof EmailConfirmResponseSchema;
    };
    /**
     * Merge two user accounts (/auth/manage/merge)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.ManageMerge
     */
    manageMerge: {
        methodKind: "unary";
        input: typeof ManageMergeRequestSchema;
        output: typeof ManageMergeResponseSchema;
    };
    /**
     * Remove wallet IDP from user (/auth/manage/remove_wallet_idp)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.ManageRemoveWalletIdp
     */
    manageRemoveWalletIdp: {
        methodKind: "unary";
        input: typeof ManageRemoveWalletIdpRequestSchema;
        output: typeof ManageRemoveWalletIdpResponseSchema;
    };
}>;
