import { ApiResource } from '../apiResource';
import { ApiClientInterface } from '../_types/generalTypes';
import { APIPromise, RequestOptions } from '../baseClient';
import { Response, ResponseCreateParamsBase, ResponseCreateParamsNonStreaming, ResponseCreateParamsStreaming, ResponseStreamEvent } from 'openai/resources/responses/responses';
import { CursorPageParams } from '../_types/sharedTypes';
import { ResponseCreateParamsWithTools } from 'openai/lib/ResponsesParser';
import { ResponseStreamParams } from 'openai/lib/responses/ResponseStream';
import { Stream } from '../streaming';
export declare class Responses extends ApiResource {
    inputItems: InputItems;
    constructor(client: any);
    create(body: ResponseCreateParamsNonStreaming, params?: ApiClientInterface, opts?: RequestOptions): APIPromise<Response>;
    create(body: ResponseCreateParamsStreaming, params?: ApiClientInterface, opts?: RequestOptions): APIPromise<Stream<ResponseStreamEvent>>;
    create(body: ResponseCreateParamsBase, params?: ApiClientInterface, opts?: RequestOptions): APIPromise<Stream<ResponseStreamEvent> | Response>;
    retrieve(responseId: string, _query?: ResponseRetrieveParams, params?: ApiClientInterface, opts?: RequestOptions): Promise<Response>;
    del(responseId: string, params?: ApiClientInterface, opts?: RequestOptions): Promise<void>;
    parse<Params extends ResponseCreateParamsWithTools>(_body: Params, params?: ApiClientInterface, opts?: RequestOptions): Promise<any>;
    stream<Params extends ResponseStreamParams>(_body: Params, params?: ApiClientInterface, opts?: RequestOptions): Promise<any>;
}
export declare class InputItems extends ApiResource {
    list(responseId: string, _query?: InputItemListParams, params?: ApiClientInterface, opts?: RequestOptions): Promise<any>;
}
export interface ResponseRetrieveParams {
    include?: Array<ResponseIncludable>;
}
export interface InputItemListParams extends CursorPageParams {
    before?: string;
    include?: Array<ResponseIncludable>;
    order?: 'asc' | 'desc';
    [key: string]: any;
}
export type ResponseIncludable = 'file_search_call.results' | 'message.input_image.image_url' | 'computer_call_output.output.image_url';
