import { SearchConfig, AdditionalHttpHeaders } from '@yext/search-core';
import SearchHeadless from './search-headless';
import * as searchUtilities from './search-utilities';
export * from './search-core-re-exports';
export * from './models';
export * from './constants';
export * from './utils/filter-creators';
export { searchUtilities };
/**
 * The configuration for a SearchHeadless instance.
 *
 * @public
 */
export type HeadlessConfig = SearchConfig & {
    /**
     * The ID of the SearchHeadless instance.
     *
     * @remarks
     * Must be different from {@link DEFAULT_HEADLESS_ID}.
     */
    headlessId?: string;
    /**
     * The verticalKey associated with the vertical to manage. If none is provided,
     * Search Headless will manage universal search.
     */
    verticalKey?: string;
};
/**
 * Supplies a new instance of {@link SearchHeadless}, using the provided configuration.
 *
 * @param config - The apiKey, experienceKey, etc. needed to set up a front-end Search
 *                 experience.
 * @returns The newly created instance of {@link SearchHeadless}
 *
 * @public
 */
export declare function provideHeadless(config: HeadlessConfig): SearchHeadless;
/**
 * Supplies a new instance of {@link SearchHeadless}, using the provided configuration,
 * and accepts additional HTTP headers to pass with API requests.
 *
 * @param config - The apiKey, experienceKey, etc. needed to set up a front-end Search
 *                 experience
 * @param additionalHttpHeaders - Additional value for specific HTTP headers
 * @returns The newly created instance of {@link SearchHeadless}
 *
 * @internal
 */
export declare function provideHeadless(config: HeadlessConfig, additionalHttpHeaders: AdditionalHttpHeaders): SearchHeadless;
export { SearchHeadless };
//# sourceMappingURL=index.d.ts.map