/**
 * Main Morpheus Client
 */
import type { EventEmitter as EventEmitterType } from 'eventemitter3';
import { MorpheusConfig, RegisterRequest, LoginRequest, AuthResponse, RefreshTokenRequest, ApiKey, CreateApiKeyRequest, PrivateKeyRequest, PrivateKeyStatus, Delegation, CreateDelegationRequest, ChatCompletionRequest, ChatCompletionResponse, ChatCompletionChunk, Model, AllModelsResponse, RatedBid, ApproveSpendingRequest, BidSessionRequest, ModelSessionRequest, SessionResponse, CloseSessionRequest, PingSessionRequest, AutomationSettings, HealthCheckResponse, RequestOptions } from './types';
export declare class MorpheusClient {
    private httpClient;
    private config;
    private accessToken?;
    constructor(config: MorpheusConfig);
    /**
     * Auth API
     */
    register(params: RegisterRequest, options?: RequestOptions): Promise<AuthResponse>;
    login(params: LoginRequest, options?: RequestOptions): Promise<AuthResponse>;
    refreshToken(params: RefreshTokenRequest, options?: RequestOptions): Promise<AuthResponse>;
    getApiKeys(options?: RequestOptions): Promise<ApiKey[]>;
    createApiKey(params?: CreateApiKeyRequest, options?: RequestOptions): Promise<ApiKey>;
    deleteApiKey(keyId: string, options?: RequestOptions): Promise<void>;
    storePrivateKey(params: PrivateKeyRequest, options?: RequestOptions): Promise<void>;
    getPrivateKeyStatus(options?: RequestOptions): Promise<PrivateKeyStatus>;
    deletePrivateKey(options?: RequestOptions): Promise<void>;
    storeDelegation(params: CreateDelegationRequest, options?: RequestOptions): Promise<Delegation>;
    getUserDelegations(options?: RequestOptions): Promise<Delegation[]>;
    getActiveDelegation(options?: RequestOptions): Promise<Delegation>;
    deleteDelegation(delegationId: string, options?: RequestOptions): Promise<void>;
    /**
     * Models API
     */
    listModels(options?: RequestOptions): Promise<Model[]>;
    listAllModels(options?: RequestOptions): Promise<AllModelsResponse>;
    getRatedBids(options?: RequestOptions): Promise<RatedBid[]>;
    /**
     * Chat Completions API
     */
    createChatCompletion(params: ChatCompletionRequest, options?: RequestOptions): Promise<ChatCompletionResponse>;
    streamChatCompletion(params: ChatCompletionRequest, options?: RequestOptions): AsyncGenerator<ChatCompletionChunk, void, unknown>;
    /**
     * Stream chat completion with event emitter
     */
    streamChatCompletionEvents(params: ChatCompletionRequest, options?: RequestOptions): EventEmitterType;
    /**
     * Session API
     */
    approveSpending(params: ApproveSpendingRequest, options?: RequestOptions): Promise<void>;
    createBidSession(params: BidSessionRequest, options?: RequestOptions): Promise<SessionResponse>;
    createModelSession(params: ModelSessionRequest, options?: RequestOptions): Promise<SessionResponse>;
    closeSession(params: CloseSessionRequest, options?: RequestOptions): Promise<void>;
    pingSession(params: PingSessionRequest, options?: RequestOptions): Promise<void>;
    /**
     * Automation API
     */
    getAutomationSettings(options?: RequestOptions): Promise<AutomationSettings>;
    updateAutomationSettings(params: AutomationSettings, options?: RequestOptions): Promise<AutomationSettings>;
    /**
     * Health Check
     */
    healthCheck(options?: RequestOptions): Promise<HealthCheckResponse>;
    /**
     * Root endpoint
     */
    getRoot(options?: RequestOptions): Promise<any>;
    /**
     * Helper methods
     */
    setAccessToken(token: string): void;
    getAccessToken(): string | undefined;
    /**
     * Validation methods
     */
    private validateChatCompletionParams;
}
//# sourceMappingURL=client.d.ts.map