import { ConfigService } from '@nestjs/config';
export interface LaravelApiRequest {
    method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
    endpoint: string;
    data?: unknown;
    params?: Record<string, unknown>;
    headers?: Record<string, string>;
}
export interface LaravelApiResponse<T = unknown> {
    data: T;
    status: number;
    headers: Record<string, string>;
}
export declare class LaravelApiService {
    private readonly configService;
    private readonly logger;
    private readonly apiClient;
    constructor(configService: ConfigService);
    makeAuthenticatedRequest<T = unknown>(token: string, request: LaravelApiRequest): Promise<LaravelApiResponse<T>>;
    validateTokenWithLaravel(token: string): Promise<unknown>;
    getUserFromLaravel(token: string): Promise<LaravelApiResponse>;
    getClientFromLaravel(token: string): Promise<LaravelApiResponse>;
    proxyRequest<T = unknown>(token: string, method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', endpoint: string, data?: unknown, params?: Record<string, unknown>, headers?: Record<string, string>): Promise<LaravelApiResponse<T>>;
}
