import { Agent } from 'node:http';
import { APIClient, DefaultQuery, Fetch, FinalRequestOptions, Headers } from 'openai/core';

import * as API from './resources';
export interface ErnieAIOptions {
    baseURL?: string;
    apiKey?: string;
    timeout?: number | undefined;
    httpAgent?: Agent;
    fetch?: Fetch | undefined;
    /**
     * Default headers to include with every request to the API.
     *
     * These can be removed in individual requests by explicitly setting the
     * header to `undefined` or `null` in request options.
     */
    defaultHeaders?: Headers;
    /**
     * Default query parameters to include with every request to the API.
     *
     * These can be removed in individual requests by explicitly setting the
     * param to `undefined` in request options.
     */
    defaultQuery?: DefaultQuery;
}
export declare class ErnieAI extends APIClient {
    protected apiKey: string;
    private _options;
    /**
     * 初始化SDK客户端实例
     * @param options 配置选项，包含API密钥、基础URL等参数
     */
    constructor(options?: ErnieAIOptions);
    chat: API.Chat;
    embeddings: API.Embeddings;
    protected authHeaders(): {
        Authorization: string;
    };
    protected defaultHeaders(opts: FinalRequestOptions): Headers;
    protected defaultQuery(): DefaultQuery | undefined;
}
export declare namespace ErnieAI {
    type Chat = API.Chat;
    type ChatModel = API.ChatModel;
    type ChatCompletionCreateParams = API.ChatCompletionCreateParams;
    type ChatCompletionCreateParamsNonStreaming = API.ChatCompletionCreateParamsNonStreaming;
    type ChatCompletionCreateParamsStreaming = API.ChatCompletionCreateParamsStreaming;
    type EmbeddingCreateParams = API.EmbeddingCreateParams;
}
export default ErnieAI;
