import { InferContract } from '@spfn/core';
import { getMeContract } from '../contracts/auth.js';
import '@sinclair/typebox';

/**
 * Auto-generated API Client
 *
 * Generated by @spfn/core codegen
 * DO NOT EDIT MANUALLY
 *
 * @generated 2025-11-09T12:30:02.323Z
 */

type GetMeResponse = InferContract<typeof getMeContract>['response'];
type GetMeBody = InferContract<typeof getMeContract>['body'];
/**
 * GET /_auth/me
 */
declare const getMe: (options: {
    body: GetMeBody;
}) => Promise<{
    success: false;
    error: {
        details?: any;
        message: string;
        code: string;
    };
} | {
    message?: string | undefined;
    success: true;
    data: {
        email?: string | undefined;
        phone?: string | undefined;
        userId: string;
        role: {
            id: number;
            name: string;
            displayName: string;
            priority: number;
        };
        permissions: {
            category?: string | undefined;
            id: number;
            name: string;
            displayName: string;
        }[];
    };
}>;

export { type GetMeBody, type GetMeResponse, getMe };
