import { BaseEndpoint } from '../base';
import { CreateLogRequest, BatchLogRequest, BatchLogResponse, GetLogsRequest, PaginatedLogResponse, GetLatestLogsRequest, LatestLogsResponse, GetLogByIdRequest, LogResponse } from './types';
export declare class LogsEndpoint extends BaseEndpoint {
    constructor(client: any);
    private validateRequiredKeys;
    private validateTimestamp;
    /**
     * Create a log entry
     * @param data - The log creation request
     * @returns Promise that resolves if the log is created (201)
     * @throws {InvalidRequestError} If required fields are missing or invalid
     * @throws {AuthenticationError} If API keys are invalid
     * @throws {ServerError} If server encounters an error
     */
    createLog(data: CreateLogRequest): Promise<void>;
    /**
     * Create a batch of log entries
     * @param data - The batch log creation request
     * @returns Promise with the batch log response
     * @throws {InvalidRequestError} If batch size exceeds limit or required fields are missing
     * @throws {AuthenticationError} If API keys are invalid
     * @throws {ServerError} If server encounters an error
     */
    createBatchLogs(data: BatchLogRequest): Promise<BatchLogResponse>;
    /**
     * Get logs for a specific item
     * @param data - The get logs request parameters
     * @returns Promise with the paginated log response
     * @throws {InvalidRequestError} If required fields are missing
     * @throws {AuthenticationError} If API keys are invalid
     * @throws {ServerError} If server encounters an error
     */
    getLogs(data: GetLogsRequest): Promise<PaginatedLogResponse>;
    /**
     * Get the latest logs for a specific item
     * @param data - The get latest logs request parameters
     * @returns Promise with the latest logs response
     * @throws {InvalidRequestError} If required fields are missing
     * @throws {AuthenticationError} If API keys are invalid
     * @throws {ServerError} If server encounters an error
     */
    getLatestLogs(data: GetLatestLogsRequest): Promise<LatestLogsResponse>;
    /**
     * Get a specific log by ID
     * @param id - The log ID
     * @param data - The get log by ID request parameters
     * @returns Promise with the log response
     * @throws {InvalidRequestError} If required fields are missing
     * @throws {AuthenticationError} If API keys are invalid
     * @throws {NotFoundError} If log is not found
     * @throws {ServerError} If server encounters an error
     */
    getLogById(id: number, data: GetLogByIdRequest): Promise<LogResponse>;
}
