/**
 * AskNews API
 * AskNews API [![status](https://status.asknews.app/api/badge/2/status?style=for-the-badge)](https://status.asknews.app/status/prod)
 *
 * The version of the OpenAPI document: 0.24.66
 * Contact: contact@emergentmethods.ai
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { User } from './User';
import type { FilterParams } from './FilterParams';
import type { Stop } from './Stop';
import type { ThreadId } from './ThreadId';
import type { CreateChatCompletionRequestMessage } from './CreateChatCompletionRequestMessage';
/**
 *
 * @export
 * @interface CreateChatCompletionRequest
 */
export interface CreateChatCompletionRequest {
    [key: string]: any | any;
    /**
     *
     * @type {string}
     * @memberof CreateChatCompletionRequest
     */
    model?: string;
    /**
     *
     * @type {Array<CreateChatCompletionRequestMessage>}
     * @memberof CreateChatCompletionRequest
     */
    messages: Array<CreateChatCompletionRequestMessage>;
    /**
     *
     * @type {number}
     * @memberof CreateChatCompletionRequest
     */
    temperature?: number;
    /**
     *
     * @type {number}
     * @memberof CreateChatCompletionRequest
     */
    topP?: number;
    /**
     *
     * @type {number}
     * @memberof CreateChatCompletionRequest
     */
    n?: number;
    /**
     *
     * @type {boolean}
     * @memberof CreateChatCompletionRequest
     */
    stream?: boolean;
    /**
     *
     * @type {Stop}
     * @memberof CreateChatCompletionRequest
     */
    stop?: Stop;
    /**
     *
     * @type {number}
     * @memberof CreateChatCompletionRequest
     */
    maxTokens?: number;
    /**
     *
     * @type {number}
     * @memberof CreateChatCompletionRequest
     */
    presencePenalty?: number;
    /**
     *
     * @type {number}
     * @memberof CreateChatCompletionRequest
     */
    frequencyPenalty?: number;
    /**
     *
     * @type {ThreadId}
     * @memberof CreateChatCompletionRequest
     */
    threadId?: ThreadId;
    /**
     *
     * @type {User}
     * @memberof CreateChatCompletionRequest
     */
    user?: User;
    /**
     *
     * @type {string}
     * @memberof CreateChatCompletionRequest
     */
    inlineCitations?: CreateChatCompletionRequestInlineCitationsEnum;
    /**
     *
     * @type {boolean}
     * @memberof CreateChatCompletionRequest
     */
    appendReferences?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof CreateChatCompletionRequest
     */
    journalistMode?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof CreateChatCompletionRequest
     */
    asknewsWatermark?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof CreateChatCompletionRequest
     */
    conversationalAwareness?: boolean;
    /**
     *
     * @type {FilterParams}
     * @memberof CreateChatCompletionRequest
     */
    filterParams?: FilterParams;
}
/**
 * @export
 */
export declare const CreateChatCompletionRequestInlineCitationsEnum: {
    readonly Numbered: "numbered";
    readonly MarkdownLink: "markdown_link";
    readonly None: "none";
};
export type CreateChatCompletionRequestInlineCitationsEnum = typeof CreateChatCompletionRequestInlineCitationsEnum[keyof typeof CreateChatCompletionRequestInlineCitationsEnum];
/**
 * Check if a given object implements the CreateChatCompletionRequest interface.
 */
export declare function instanceOfCreateChatCompletionRequest(value: object): value is CreateChatCompletionRequest;
export declare function CreateChatCompletionRequestFromJSON(json: any): CreateChatCompletionRequest;
export declare function CreateChatCompletionRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateChatCompletionRequest;
export declare function CreateChatCompletionRequestToJSON(json: any): CreateChatCompletionRequest;
export declare function CreateChatCompletionRequestToJSONTyped(value?: CreateChatCompletionRequest | null, ignoreDiscriminator?: boolean): any;
