export { AIGatewayService, applyAIGatewayResponseSchema, buildAIGatewayCompletionParams, getAIGatewayCompletionStructured, getAIGatewayCompletionText, getAIGatewayCompletionTextResult, getAIGatewayProviderFamily, type AIGatewayChatCompletion, type AIGatewayChatCompletionParams, type AIGatewayChatMessage, type AIGatewayCompletionAdapterRequest, type AIGatewayCompletionTextReason, type AIGatewayCompletionTextResult, type AIGatewayModel, type AIGatewayModelProvider, type AIGatewayModels, type AIGatewayModelsResponse, type AIGatewayPricing, type AIGatewayProviderFamily, type AIGatewayRequestOptions, type AIGatewayRequestResponse, type AIGatewayReasoning, type AIGatewayResponseMetadata, type AIGatewayResponseSchemaInput, type AIGatewayStreamingCompletion, AIGatewayChatCompletionParamsSchema, AIGatewayChatCompletionSchema, AIGatewayChatMessageSchema, AIGatewayModelProviderSchema, AIGatewayModelSchema, AIGatewayModelsResponseSchema, AIGatewayModelsSchema, AIGatewayPricingSchema, AIGatewayResponseSchemaSchema, } from '@agentuity/core/aigateway';
import { type AIGatewayChatCompletion, type AIGatewayChatCompletionParams, type AIGatewayCompletionTextResult, type AIGatewayModels, type AIGatewayProviderFamily, type AIGatewayRequestOptions, type AIGatewayRequestResponse, type AIGatewayResponseSchemaInput, type AIGatewayStreamingCompletion } from '@agentuity/core/aigateway';
import { type Logger } from '@agentuity/core';
import { z } from 'zod';
export declare const AIGatewayClientOptionsSchema: z.ZodObject<{
    apiKey: z.ZodOptional<z.ZodString>;
    url: z.ZodOptional<z.ZodString>;
    orgId: z.ZodOptional<z.ZodString>;
    logger: z.ZodOptional<z.ZodCustom<Logger, Logger>>;
}, z.core.$strip>;
export type AIGatewayClientOptions = z.infer<typeof AIGatewayClientOptionsSchema>;
export declare class AIGatewayClient {
    #private;
    constructor(options?: AIGatewayClientOptions);
    listModels(): Promise<AIGatewayModels>;
    complete(params: AIGatewayChatCompletionParams): Promise<AIGatewayChatCompletion>;
    /**
     * Run a completion and return the assistant's textual reply directly, normalized across
     * provider response shapes. Returns the raw `completion` alongside so callers don't lose
     * usage/metadata.
     *
     * The `text` field is the concatenated assistant text. `hasText` distinguishes "the model
     * returned no textual content" (e.g. it stopped on `tool_calls` or hit `length`) from
     * "the model returned an empty string".
     */
    completeText(params: AIGatewayChatCompletionParams): Promise<AIGatewayCompletionTextResult & {
        completion: AIGatewayChatCompletion;
    }>;
    /**
     * Run a structured-output completion: the gateway translates `response_schema` (or the
     * `response_schema` field on `params`) into the right provider-native structured-output
     * primitive, and the parsed JSON payload is returned in the `data` field. The raw
     * `completion` is included so callers can still inspect usage / cost / finish reason.
     *
     * `data` is typed as the caller-supplied generic. The runtime guarantee is only "the
     * provider returned JSON that parsed" — pass a Zod / StandardSchema schema and call
     * `safeParse` on the result if you want validated narrowing.
     */
    completeStructured<T = unknown>(params: AIGatewayChatCompletionParams & {
        response_schema: AIGatewayResponseSchemaInput;
    }): Promise<{
        data: T | undefined;
        completion: AIGatewayChatCompletion;
        family: AIGatewayProviderFamily;
    }>;
    request<T = unknown>(options: AIGatewayRequestOptions): Promise<AIGatewayRequestResponse<T>>;
    streamRequest(options: AIGatewayRequestOptions): Promise<AIGatewayStreamingCompletion>;
}
//# sourceMappingURL=index.d.ts.map