export type EmbeddingModel = {
    modelId?: string;
    readonly 'x-class-name'?: string;
};
export type Facet = {
    facetCriteria?: string;
    facetValues?: Array<FacetValue>;
};
export type FacetValue = {
    numberOfOccurrences?: number;
    term?: string;
};
export type PageEmbeddingModel = {
    items?: Array<EmbeddingModel>;
    lastPage?: number;
    totalCount?: number;
    actions?: {
        [key: string]: {
            [key: string]: string;
        };
    };
    page?: number;
    facets?: Array<Facet>;
    pageSize?: number;
};
export type EmbeddingProviderValidationResult = {
    errorMessage?: string;
    expectedDimensions?: number;
    readonly 'x-class-name'?: string;
};
export type EmbeddingProviderConfiguration = {
    attributes?: {
        [key: string]: unknown;
    };
    embeddingVectorDimensions?: number;
    languageIds?: Array<string>;
    modelClassNames?: Array<string>;
    providerName?: string;
    readonly 'x-class-name'?: string;
};
export type PageSearchResult = {
    items?: Array<SearchResult>;
    lastPage?: number;
    totalCount?: number;
    actions?: {
        [key: string]: {
            [key: string]: string;
        };
    };
    page?: number;
    facets?: Array<Facet>;
    pageSize?: number;
};
export type SearchResult = {
    readonly actions?: {
        [key: string]: {
            [key: string]: string;
        };
    };
    /**
     * The time the item was created.
     */
    dateCreated?: string;
    /**
     * The last time the item was changed.
     */
    dateModified?: string;
    /**
     * The item's description.
     */
    description?: string;
    embedded?: {
        [key: string]: unknown;
    };
    /**
     * The object entry class name.
     */
    entryClassName?: string;
    /**
     * The link to the embedded item.
     */
    itemURL?: string;
    /**
     * The item's score.
     */
    score?: number;
    /**
     * The item's title.
     */
    title?: string;
    readonly 'x-class-name'?: string;
};
export type FacetConfiguration = {
    /**
     * The name of the aggregation.
     */
    aggregationName?: string;
    /**
     * Additional attributes for the facet.
     */
    attributes?: {
        [key: string]: {
            [key: string]: unknown;
        };
    };
    /**
     * Frequency threshold for showing the terms.
     */
    frequencyThreshold?: number;
    /**
     * Maximum number of terms to be shown.
     */
    maxTerms?: number;
    /**
     * The name of the facet.
     */
    name?: string;
    /**
     * The values / selections to be filtered by.
     */
    values?: Array<{
        [key: string]: unknown;
    }>;
    readonly 'x-class-name'?: string;
};
export type SearchRequestBody = {
    attributes?: {
        [key: string]: {
            [key: string]: unknown;
        };
    };
    facetConfigurations?: Array<FacetConfiguration>;
    readonly 'x-class-name'?: string;
};
export type PageSuggestionsContributorResults = {
    items?: Array<SuggestionsContributorResults>;
    lastPage?: number;
    totalCount?: number;
    actions?: {
        [key: string]: {
            [key: string]: string;
        };
    };
    page?: number;
    facets?: Array<Facet>;
    pageSize?: number;
};
export type Suggestion = {
    attributes?: {
        [key: string]: unknown;
    };
    score?: number;
    text?: string;
    readonly 'x-class-name'?: string;
};
export type SuggestionsContributorResults = {
    attributes?: {
        [key: string]: unknown;
    };
    displayGroupName?: string;
    suggestions?: Array<Suggestion>;
    readonly 'x-class-name'?: string;
};
export type SuggestionsContributorConfiguration = {
    attributes?: {
        [key: string]: unknown;
    };
    contributorName?: string;
    displayGroupName?: string;
    size?: number;
    readonly 'x-class-name'?: string;
};
export type GetEmbeddingEmbeddingModelsPageData = {
    body?: never;
    path?: never;
    query?: {
        page?: string;
        pageSize?: string;
        provider?: string;
        search?: string;
        nestedFields?: string;
    };
    url: '/o/search/v1.0/embeddings/embedding-models';
};
export type GetEmbeddingEmbeddingModelsPageResponses = {
    /**
     * default response
     */
    default: PageEmbeddingModel;
};
export type GetEmbeddingEmbeddingModelsPageResponse = GetEmbeddingEmbeddingModelsPageResponses[keyof GetEmbeddingEmbeddingModelsPageResponses];
export type PostEmbeddingValidateProviderConfigurationData = {
    body?: EmbeddingProviderConfiguration;
    path?: never;
    query?: never;
    url: '/o/search/v1.0/embeddings/validate-provider-configuration';
};
export type PostEmbeddingValidateProviderConfigurationResponses = {
    /**
     * default response
     */
    default: EmbeddingProviderValidationResult;
};
export type PostEmbeddingValidateProviderConfigurationResponse = PostEmbeddingValidateProviderConfigurationResponses[keyof PostEmbeddingValidateProviderConfigurationResponses];
export type GetSearchPageData = {
    body?: never;
    path?: never;
    query?: {
        blueprintExternalReferenceCode?: string;
        emptySearch?: string;
        entryClassNames?: string;
        fields?: string;
        filter?: string;
        nestedFields?: string;
        page?: string;
        pageSize?: string;
        restrictFields?: string;
        scope?: string;
        search?: string;
        sort?: string;
    };
    url: '/o/search/v1.0/search';
};
export type GetSearchPageResponses = {
    /**
     * default response
     */
    default: PageSearchResult;
};
export type GetSearchPageResponse = GetSearchPageResponses[keyof GetSearchPageResponses];
export type PostSearchPageData = {
    body?: SearchRequestBody;
    path?: never;
    query?: {
        entryClassNames?: string;
        fields?: string;
        filter?: string;
        nestedFields?: string;
        page?: string;
        pageSize?: string;
        restrictFields?: string;
        scope?: string;
        search?: string;
        sort?: string;
    };
    url: '/o/search/v1.0/search';
};
export type PostSearchPageResponses = {
    /**
     * default response
     */
    default: PageSearchResult;
};
export type PostSearchPageResponse = PostSearchPageResponses[keyof PostSearchPageResponses];
export type PostSuggestionsPageData = {
    body?: Array<SuggestionsContributorConfiguration>;
    path?: never;
    query?: {
        currentURL?: string;
        destinationFriendlyURL?: string;
        /**
         * @deprecated
         */
        groupId?: string;
        keywordsParameterName?: string;
        plid?: string;
        scope?: string;
        search?: string;
    };
    url: '/o/search/v1.0/suggestions';
};
export type PostSuggestionsPageResponses = {
    /**
     * default response
     */
    default: PageSuggestionsContributorResults;
};
export type PostSuggestionsPageResponse = PostSuggestionsPageResponses[keyof PostSuggestionsPageResponses];
export type ClientOptions = {
    baseUrl: 'http://localhost:8080' | (string & {});
};
