/**
 * Cloudflare VECTORIZE API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service vectorize
 */
import * as Schema from "effect/Schema";
import type * as HttpClient from "effect/unstable/http/HttpClient";
import * as API from "../client/api.ts";
import type { Credentials } from "../credentials.ts";
import { type DefaultErrors } from "../errors.ts";
export interface GetByIdsIndexRequest {
    indexName: string;
    /** Path param: Identifier */
    accountId: string;
    /** Body param: A list of vector identifiers to retrieve from the index indicated by the path. */
    ids?: string[];
}
export declare const GetByIdsIndexRequest: Schema.Schema<GetByIdsIndexRequest>;
export type GetByIdsIndexResponse = unknown;
export declare const GetByIdsIndexResponse: Schema.Schema<GetByIdsIndexResponse>;
export type GetByIdsIndexError = DefaultErrors;
export declare const getByIdsIndex: API.OperationMethod<GetByIdsIndexRequest, GetByIdsIndexResponse, GetByIdsIndexError, Credentials | HttpClient.HttpClient>;
export interface DeleteByIdsIndexRequest {
    indexName: string;
    /** Path param: Identifier */
    accountId: string;
    /** Body param: A list of vector identifiers to delete from the index indicated by the path. */
    ids?: string[];
}
export declare const DeleteByIdsIndexRequest: Schema.Schema<DeleteByIdsIndexRequest>;
export interface DeleteByIdsIndexResponse {
    /** The unique identifier for the async mutation operation containing the changeset. */
    mutationId?: string | null;
}
export declare const DeleteByIdsIndexResponse: Schema.Schema<DeleteByIdsIndexResponse>;
export type DeleteByIdsIndexError = DefaultErrors;
export declare const deleteByIdsIndex: API.OperationMethod<DeleteByIdsIndexRequest, DeleteByIdsIndexResponse, DeleteByIdsIndexError, Credentials | HttpClient.HttpClient>;
export interface GetIndexRequest {
    indexName: string;
    /** Identifier */
    accountId: string;
}
export declare const GetIndexRequest: Schema.Schema<GetIndexRequest>;
export interface GetIndexResponse {
    config?: {
        dimensions: number;
        metric: "cosine" | "euclidean" | "dot-product";
    } | null;
    /** Specifies the timestamp the resource was created as an ISO8601 string. */
    createdOn?: string | null;
    /** Specifies the description of the index. */
    description?: string | null;
    /** Specifies the timestamp the resource was modified as an ISO8601 string. */
    modifiedOn?: string | null;
    name?: string | null;
}
export declare const GetIndexResponse: Schema.Schema<GetIndexResponse>;
export type GetIndexError = DefaultErrors;
export declare const getIndex: API.OperationMethod<GetIndexRequest, GetIndexResponse, GetIndexError, Credentials | HttpClient.HttpClient>;
export interface ListIndexesRequest {
    /** Identifier */
    accountId: string;
}
export declare const ListIndexesRequest: Schema.Schema<ListIndexesRequest>;
export interface ListIndexesResponse {
    result: {
        config?: {
            dimensions: number;
            metric: "cosine" | "euclidean" | "dot-product";
        } | null;
        createdOn?: string | null;
        description?: string | null;
        modifiedOn?: string | null;
        name?: string | null;
    }[];
}
export declare const ListIndexesResponse: Schema.Schema<ListIndexesResponse>;
export type ListIndexesError = DefaultErrors;
export declare const listIndexes: API.PaginatedOperationMethod<ListIndexesRequest, ListIndexesResponse, ListIndexesError, Credentials | HttpClient.HttpClient>;
export interface CreateIndexRequest {
    /** Path param: Identifier */
    accountId: string;
    /** Body param: Specifies the type of configuration to use for the index. */
    config: {
        dimensions: number;
        metric: "cosine" | "euclidean" | "dot-product";
    } | {
        preset: "@cf/baai/bge-small-en-v1.5" | "@cf/baai/bge-base-en-v1.5" | "@cf/baai/bge-large-en-v1.5" | "openai/text-embedding-ada-002" | "cohere/embed-multilingual-v2.0";
    };
    /** Body param: */
    name: string;
    /** Body param: Specifies the description of the index. */
    description?: string;
}
export declare const CreateIndexRequest: Schema.Schema<CreateIndexRequest>;
export interface CreateIndexResponse {
    config?: {
        dimensions: number;
        metric: "cosine" | "euclidean" | "dot-product";
    } | null;
    /** Specifies the timestamp the resource was created as an ISO8601 string. */
    createdOn?: string | null;
    /** Specifies the description of the index. */
    description?: string | null;
    /** Specifies the timestamp the resource was modified as an ISO8601 string. */
    modifiedOn?: string | null;
    name?: string | null;
}
export declare const CreateIndexResponse: Schema.Schema<CreateIndexResponse>;
export type CreateIndexError = DefaultErrors;
export declare const createIndex: API.OperationMethod<CreateIndexRequest, CreateIndexResponse, CreateIndexError, Credentials | HttpClient.HttpClient>;
export interface DeleteIndexRequest {
    indexName: string;
    /** Identifier */
    accountId: string;
}
export declare const DeleteIndexRequest: Schema.Schema<DeleteIndexRequest>;
export type DeleteIndexResponse = string;
export declare const DeleteIndexResponse: Schema.Schema<DeleteIndexResponse>;
export type DeleteIndexError = DefaultErrors;
export declare const deleteIndex: API.OperationMethod<DeleteIndexRequest, DeleteIndexResponse, DeleteIndexError, Credentials | HttpClient.HttpClient>;
export interface InfoIndexRequest {
    indexName: string;
    /** Identifier */
    accountId: string;
}
export declare const InfoIndexRequest: Schema.Schema<InfoIndexRequest>;
export interface InfoIndexResponse {
    /** Specifies the number of dimensions for the index */
    dimensions?: number | null;
    /** Specifies the timestamp the last mutation batch was processed as an ISO8601 string. */
    processedUpToDatetime?: string | null;
    /** The unique identifier for the async mutation operation containing the changeset. */
    processedUpToMutation?: string | null;
    /** Specifies the number of vectors present in the index */
    vectorCount?: number | null;
}
export declare const InfoIndexResponse: Schema.Schema<InfoIndexResponse>;
export type InfoIndexError = DefaultErrors;
export declare const infoIndex: API.OperationMethod<InfoIndexRequest, InfoIndexResponse, InfoIndexError, Credentials | HttpClient.HttpClient>;
export interface InsertIndexRequest {
    indexName: string;
    /** Path param: Identifier */
    accountId: string;
    /** Query param: Behavior for ndjson parse failures. */
    unparsableBehavior?: "error" | "discard";
    /** Body param: ndjson file containing vectors to insert. */
    body: File | Blob;
}
export declare const InsertIndexRequest: Schema.Schema<InsertIndexRequest>;
export interface InsertIndexResponse {
    /** The unique identifier for the async mutation operation containing the changeset. */
    mutationId?: string | null;
}
export declare const InsertIndexResponse: Schema.Schema<InsertIndexResponse>;
export type InsertIndexError = DefaultErrors;
export declare const insertIndex: API.OperationMethod<InsertIndexRequest, InsertIndexResponse, InsertIndexError, Credentials | HttpClient.HttpClient>;
export interface QueryIndexRequest {
    indexName: string;
    /** Path param: Identifier */
    accountId: string;
    /** Body param: The search vector that will be used to find the nearest neighbors. */
    vector: number[];
    /** Body param: A metadata filter expression used to limit nearest neighbor results. */
    filter?: unknown;
    /** Body param: Whether to return no metadata, indexed metadata or all metadata associated with the closest vectors. */
    returnMetadata?: "none" | "indexed" | "all";
    /** Body param: Whether to return the values associated with the closest vectors. */
    returnValues?: boolean;
    /** Body param: The number of nearest neighbors to find. */
    topK?: number;
}
export declare const QueryIndexRequest: Schema.Schema<QueryIndexRequest>;
export interface QueryIndexResponse {
    /** Specifies the count of vectors returned by the search */
    count?: number | null;
    /** Array of vectors matched by the search */
    matches?: {
        id?: string | null;
        metadata?: null;
        namespace?: string | null;
        score?: number | null;
        values?: number[] | null;
    }[] | null;
}
export declare const QueryIndexResponse: Schema.Schema<QueryIndexResponse>;
export type QueryIndexError = DefaultErrors;
export declare const queryIndex: API.OperationMethod<QueryIndexRequest, QueryIndexResponse, QueryIndexError, Credentials | HttpClient.HttpClient>;
export interface UpsertIndexRequest {
    indexName: string;
    /** Path param: Identifier */
    accountId: string;
    /** Query param: Behavior for ndjson parse failures. */
    unparsableBehavior?: "error" | "discard";
    /** Body param: ndjson file containing vectors to upsert. */
    body: File | Blob;
}
export declare const UpsertIndexRequest: Schema.Schema<UpsertIndexRequest>;
export interface UpsertIndexResponse {
    /** The unique identifier for the async mutation operation containing the changeset. */
    mutationId?: string | null;
}
export declare const UpsertIndexResponse: Schema.Schema<UpsertIndexResponse>;
export type UpsertIndexError = DefaultErrors;
export declare const upsertIndex: API.OperationMethod<UpsertIndexRequest, UpsertIndexResponse, UpsertIndexError, Credentials | HttpClient.HttpClient>;
export interface ListIndexMetadataIndexesRequest {
    indexName: string;
    /** Identifier */
    accountId: string;
}
export declare const ListIndexMetadataIndexesRequest: Schema.Schema<ListIndexMetadataIndexesRequest>;
export interface ListIndexMetadataIndexesResponse {
    /** Array of indexed metadata properties. */
    metadataIndexes?: {
        indexType?: "string" | "number" | "boolean" | null;
        propertyName?: string | null;
    }[] | null;
}
export declare const ListIndexMetadataIndexesResponse: Schema.Schema<ListIndexMetadataIndexesResponse>;
export type ListIndexMetadataIndexesError = DefaultErrors;
export declare const listIndexMetadataIndexes: API.OperationMethod<ListIndexMetadataIndexesRequest, ListIndexMetadataIndexesResponse, ListIndexMetadataIndexesError, Credentials | HttpClient.HttpClient>;
export interface CreateIndexMetadataIndexRequest {
    indexName: string;
    /** Path param: Identifier */
    accountId: string;
    /** Body param: Specifies the type of metadata property to index. */
    indexType: "string" | "number" | "boolean";
    /** Body param: Specifies the metadata property to index. */
    propertyName: string;
}
export declare const CreateIndexMetadataIndexRequest: Schema.Schema<CreateIndexMetadataIndexRequest>;
export interface CreateIndexMetadataIndexResponse {
    /** The unique identifier for the async mutation operation containing the changeset. */
    mutationId?: string | null;
}
export declare const CreateIndexMetadataIndexResponse: Schema.Schema<CreateIndexMetadataIndexResponse>;
export type CreateIndexMetadataIndexError = DefaultErrors;
export declare const createIndexMetadataIndex: API.OperationMethod<CreateIndexMetadataIndexRequest, CreateIndexMetadataIndexResponse, CreateIndexMetadataIndexError, Credentials | HttpClient.HttpClient>;
export interface DeleteIndexMetadataIndexRequest {
    indexName: string;
    /** Path param: Identifier */
    accountId: string;
    /** Body param: Specifies the metadata property for which the index must be deleted. */
    propertyName: string;
}
export declare const DeleteIndexMetadataIndexRequest: Schema.Schema<DeleteIndexMetadataIndexRequest>;
export interface DeleteIndexMetadataIndexResponse {
    /** The unique identifier for the async mutation operation containing the changeset. */
    mutationId?: string | null;
}
export declare const DeleteIndexMetadataIndexResponse: Schema.Schema<DeleteIndexMetadataIndexResponse>;
export type DeleteIndexMetadataIndexError = DefaultErrors;
export declare const deleteIndexMetadataIndex: API.OperationMethod<DeleteIndexMetadataIndexRequest, DeleteIndexMetadataIndexResponse, DeleteIndexMetadataIndexError, Credentials | HttpClient.HttpClient>;
export interface ListVectorsIndexRequest {
    indexName: string;
    /** Path param: Identifier */
    accountId: string;
    /** Query param: Maximum number of vectors to return */
    count?: number;
    /** Query param: Cursor for pagination to get the next page of results */
    cursor?: string;
}
export declare const ListVectorsIndexRequest: Schema.Schema<ListVectorsIndexRequest>;
export interface ListVectorsIndexResponse {
    /** Number of vectors returned in this response */
    count: number;
    /** Whether there are more vectors available beyond this response */
    isTruncated: boolean;
    /** Total number of vectors in the index */
    totalCount: number;
    /** Array of vector items */
    vectors: {
        id: string;
    }[];
    /** When the cursor expires as an ISO8601 string */
    cursorExpirationTimestamp?: string | null;
    /** Cursor for the next page of results */
    nextCursor?: string | null;
}
export declare const ListVectorsIndexResponse: Schema.Schema<ListVectorsIndexResponse>;
export type ListVectorsIndexError = DefaultErrors;
export declare const listVectorsIndex: API.OperationMethod<ListVectorsIndexRequest, ListVectorsIndexResponse, ListVectorsIndexError, Credentials | HttpClient.HttpClient>;
//# sourceMappingURL=vectorize.d.ts.map