import * as pulumi from "@pulumi/pulumi";
/**
 * Represents a serving config which is a singleton resource under engine. A default
 * serving config is automatically provisioned and deleted with its parent engine.
 *
 * To get more information about ServingConfig, see:
 *
 * * [API documentation](https://cloud.google.com/gemini/enterprise/docs/reference/rest/v1/projects.locations.collections.engines.servingConfigs)
 *
 * ## Import
 *
 * ServingConfig can be imported using any of these accepted formats:
 *
 * * `projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/engines/{{engine_id}}/servingConfigs/{{serving_config_id}}`
 *
 * * `{{project}}/{{location}}/{{collection_id}}/{{engine_id}}/{{serving_config_id}}`
 *
 * * `{{location}}/{{collection_id}}/{{engine_id}}/{{serving_config_id}}`
 *
 * When using the `pulumi import` command, ServingConfig can be imported using one of the formats above. For example:
 *
 * ```sh
 * $ pulumi import gcp:discoveryengine/servingConfig:ServingConfig default projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/engines/{{engine_id}}/servingConfigs/{{serving_config_id}}
 * ```
 *
 * ```sh
 * $ pulumi import gcp:discoveryengine/servingConfig:ServingConfig default {{project}}/{{location}}/{{collection_id}}/{{engine_id}}/{{serving_config_id}}
 * ```
 *
 * ```sh
 * $ pulumi import gcp:discoveryengine/servingConfig:ServingConfig default {{location}}/{{collection_id}}/{{engine_id}}/{{serving_config_id}}
 * ```
 */
export declare class ServingConfig extends pulumi.CustomResource {
    /**
     * Get an existing ServingConfig resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ServingConfigState, opts?: pulumi.CustomResourceOptions): ServingConfig;
    /**
     * Returns true if the given object is an instance of ServingConfig.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is ServingConfig;
    /**
     * The resource IDs of the boost controls to be applied.
     */
    readonly boostControlIds: pulumi.Output<string[] | undefined>;
    /**
     * The collection ID. Currently only accepts "defaultCollection".
     */
    readonly collectionId: pulumi.Output<string | undefined>;
    /**
     * The ID of the engine associated with the serving config.
     */
    readonly engineId: pulumi.Output<string>;
    /**
     * The resource IDs of the filter controls to be applied.
     */
    readonly filterControlIds: pulumi.Output<string[] | undefined>;
    /**
     * The geographic location where the data store should reside. The value can
     * only be one of "global", "us" and "eu".
     */
    readonly location: pulumi.Output<string>;
    /**
     * The unique full resource name of the serving config. Values are of the format
     * `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The ID of the project in which the resource belongs.
     * If it is not provided, the provider project is used.
     */
    readonly project: pulumi.Output<string>;
    /**
     * The resource IDs of the promote controls to be applied.
     */
    readonly promoteControlIds: pulumi.Output<string[] | undefined>;
    /**
     * The resource IDs of the redirect controls to be applied.
     */
    readonly redirectControlIds: pulumi.Output<string[] | undefined>;
    /**
     * 'The unique ID of the serving config. Currently only accepts "defaultSearch".'
     */
    readonly servingConfigId: pulumi.Output<string | undefined>;
    /**
     * The resource IDs of the synonyms controls to be applied.
     */
    readonly synonymsControlIds: pulumi.Output<string[] | undefined>;
    /**
     * Create a ServingConfig resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: ServingConfigArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering ServingConfig resources.
 */
export interface ServingConfigState {
    /**
     * The resource IDs of the boost controls to be applied.
     */
    boostControlIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The collection ID. Currently only accepts "defaultCollection".
     */
    collectionId?: pulumi.Input<string>;
    /**
     * The ID of the engine associated with the serving config.
     */
    engineId?: pulumi.Input<string>;
    /**
     * The resource IDs of the filter controls to be applied.
     */
    filterControlIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The geographic location where the data store should reside. The value can
     * only be one of "global", "us" and "eu".
     */
    location?: pulumi.Input<string>;
    /**
     * The unique full resource name of the serving config. Values are of the format
     * `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`.
     */
    name?: pulumi.Input<string>;
    /**
     * The ID of the project in which the resource belongs.
     * If it is not provided, the provider project is used.
     */
    project?: pulumi.Input<string>;
    /**
     * The resource IDs of the promote controls to be applied.
     */
    promoteControlIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The resource IDs of the redirect controls to be applied.
     */
    redirectControlIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * 'The unique ID of the serving config. Currently only accepts "defaultSearch".'
     */
    servingConfigId?: pulumi.Input<string>;
    /**
     * The resource IDs of the synonyms controls to be applied.
     */
    synonymsControlIds?: pulumi.Input<pulumi.Input<string>[]>;
}
/**
 * The set of arguments for constructing a ServingConfig resource.
 */
export interface ServingConfigArgs {
    /**
     * The resource IDs of the boost controls to be applied.
     */
    boostControlIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The collection ID. Currently only accepts "defaultCollection".
     */
    collectionId?: pulumi.Input<string>;
    /**
     * The ID of the engine associated with the serving config.
     */
    engineId: pulumi.Input<string>;
    /**
     * The resource IDs of the filter controls to be applied.
     */
    filterControlIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The geographic location where the data store should reside. The value can
     * only be one of "global", "us" and "eu".
     */
    location: pulumi.Input<string>;
    /**
     * The ID of the project in which the resource belongs.
     * If it is not provided, the provider project is used.
     */
    project?: pulumi.Input<string>;
    /**
     * The resource IDs of the promote controls to be applied.
     */
    promoteControlIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The resource IDs of the redirect controls to be applied.
     */
    redirectControlIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * 'The unique ID of the serving config. Currently only accepts "defaultSearch".'
     */
    servingConfigId?: pulumi.Input<string>;
    /**
     * The resource IDs of the synonyms controls to be applied.
     */
    synonymsControlIds?: pulumi.Input<pulumi.Input<string>[]>;
}
