import type { EndpointConfig } from '../../../core/base-client';
import { type SuggestionsListParams, type SuggestionsSuggestParams, type SuggestionsResponse, type SuggestionsListResponse } from '../schemas';
type ExecuteRequest = <TParams, TResponse>(config: EndpointConfig<TParams, TResponse>, params?: TParams, pathParams?: Record<string, string>) => Promise<TResponse>;
/**
 * Creates the suggestions resource methods
 * OpenAPI Path: /suggestions → suggestions.*
 * @description Search suggestions for autocomplete functionality
 */
export declare function createSuggestionsResource(executeRequest: ExecuteRequest): {
    /**
     * List all suggestions
     * @fullPath api.openSearch.suggestions.list
     * @service open-search
     * @domain search-suggestions
     * @dataMethod suggestionsData.list
     * @discoverable true
     * @searchTerms ["suggestions", "autocomplete", "search hints"]
     */
    list: (params?: SuggestionsListParams) => Promise<SuggestionsListResponse>;
    /**
     * Get a suggestion by UID
     * @fullPath api.openSearch.suggestions.get
     * @service open-search
     * @domain search-suggestions
     * @dataMethod suggestionsData.get
     * @discoverable true
     * @searchTerms ["suggestion", "autocomplete"]
     */
    get: (suggestionsUid: number) => Promise<SuggestionsResponse>;
    /**
     * Nested suggest resource for autocomplete
     * @description Get search suggestions for autocomplete functionality
     */
    suggest: {
        /**
         * Get autocomplete suggestions for a query
         * @fullPath api.openSearch.suggestions.suggest.list
         * @service open-search
         * @domain search-suggestions
         * @dataMethod suggestionsData.suggest.list
         * @discoverable true
         * @searchTerms ["autocomplete", "typeahead", "search suggestions"]
         */
        list: (params?: SuggestionsSuggestParams) => Promise<SuggestionsListResponse>;
    };
};
/**
 * Creates the suggestionsData resource methods (data-only versions)
 */
export declare function createSuggestionsDataResource(suggestions: ReturnType<typeof createSuggestionsResource>): {
    list: (params?: SuggestionsListParams) => Promise<import("zod").objectOutputType<{
        suggestionsUid: import("zod").ZodNumber;
    }, import("zod").ZodTypeAny, "passthrough">[]>;
    get: (suggestionsUid: number) => Promise<{
        suggestionsUid: number;
    } & {
        [k: string]: unknown;
    }>;
    suggest: {
        list: (params?: SuggestionsSuggestParams) => Promise<import("zod").objectOutputType<{
            suggestionsUid: import("zod").ZodNumber;
        }, import("zod").ZodTypeAny, "passthrough">[]>;
    };
};
export type SuggestionsResource = ReturnType<typeof createSuggestionsResource>;
export type SuggestionsDataResource = ReturnType<typeof createSuggestionsDataResource>;
export {};
//# sourceMappingURL=suggestions.d.ts.map