import { InferenceAgentConfiguration, InferenceAgentLLMMetricsPayload, InferenceAgentMachineReportPayload, ULID, type ConduitState } from "@infersec/definitions";
import { Logger } from "@infersec/logger";
export interface APIClient {
    cycleInferenceSourceEngine: () => Promise<void>;
    getConduitConfiguration: () => Promise<InferenceAgentConfiguration>;
    reportConduitState: (state: ConduitState) => Promise<void>;
    reportMachineMetadata: (payload: InferenceAgentMachineReportPayload) => Promise<void>;
    reportPromptMetrics: (payload: InferenceAgentLLMMetricsPayload) => Promise<void>;
    updateMachineStatus: (status: {
        lastSeen: Date;
    }) => Promise<void>;
}
export declare function createAPIClient({ apiKey, apiURL, inferenceSourceID, logger }: {
    apiKey: string;
    apiURL: string;
    inferenceSourceID: ULID;
    logger: Logger;
}): APIClient;
