/**
 * Embeddings Azure OpenAI Node - Version 1
 * Use Embeddings Azure OpenAI
 */


export interface LcEmbeddingsAzureOpenAiV1Params {
/**
 * The name of the model(deployment) to use
 */
    model?: string | Expression<string>;
/**
 * Additional options to add
 * @default {}
 */
    options?: {
    /** Maximum number of documents to send in each request
     * @default 512
     */
    batchSize?: number | Expression<number>;
    /** Whether to strip new lines from the input text
     * @default true
     */
    stripNewLines?: boolean | Expression<boolean>;
    /** Maximum amount of time a request is allowed to take in seconds. Set to -1 for no timeout.
     * @default -1
     */
    timeout?: number | Expression<number>;
    /** The number of dimensions the resulting output embeddings should have. Only supported in text-embedding-3 and later models.
     * @default 1536
     */
    dimensions?: 256 | 512 | 1024 | 1536 | 3072 | Expression<number>;
  };
}

export interface LcEmbeddingsAzureOpenAiV1Credentials {
  azureOpenAiApi: CredentialReference;
}

interface LcEmbeddingsAzureOpenAiV1NodeBase {
  type: '@n8n/n8n-nodes-langchain.embeddingsAzureOpenAi';
  version: 1;
  credentials?: LcEmbeddingsAzureOpenAiV1Credentials;
}

export type LcEmbeddingsAzureOpenAiV1ParamsNode = LcEmbeddingsAzureOpenAiV1NodeBase & {
  config: NodeConfig<LcEmbeddingsAzureOpenAiV1Params>;
};

export type LcEmbeddingsAzureOpenAiV1Node = LcEmbeddingsAzureOpenAiV1ParamsNode;