import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Represents a WidgetConfig.
 *
 * To get more information about WidgetConfig, see:
 *
 * * [API documentation](https://cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.engines.widgetConfigs)
 *
 * ## Example Usage
 *
 * ### Discoveryengine Widgetconfig Basic
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const basic = new gcp.discoveryengine.DataStore("basic", {
 *     location: "global",
 *     dataStoreId: "data-store-id",
 *     displayName: "tf-test-datastore",
 *     industryVertical: "GENERIC",
 *     contentConfig: "NO_CONTENT",
 *     solutionTypes: ["SOLUTION_TYPE_SEARCH"],
 *     createAdvancedSiteSearch: false,
 * });
 * const basicSearchEngine = new gcp.discoveryengine.SearchEngine("basic", {
 *     engineId: "engine-id",
 *     collectionId: "default_collection",
 *     location: basic.location,
 *     displayName: "tf-test-engine",
 *     dataStoreIds: [basic.dataStoreId],
 *     industryVertical: "GENERIC",
 *     appType: "APP_TYPE_INTRANET",
 *     searchEngineConfig: {},
 * });
 * const basicWidgetConfig = new gcp.discoveryengine.WidgetConfig("basic", {
 *     location: basicSearchEngine.location,
 *     engineId: basicSearchEngine.engineId,
 *     accessSettings: {
 *         enableWebApp: true,
 *         workforceIdentityPoolProvider: "locations/global/workforcePools/workforce-pool-id/providers/workforce-pool-provider",
 *     },
 *     uiSettings: {
 *         interactionType: "SEARCH_WITH_ANSWER",
 *         enableAutocomplete: true,
 *         enableQualityFeedback: true,
 *         generativeAnswerConfig: {
 *             resultCount: 5,
 *         },
 *     },
 * });
 * ```
 *
 * ## Import
 *
 * WidgetConfig can be imported using any of these accepted formats:
 *
 * * `projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/engines/{{engine_id}}/widgetConfigs/{{widget_config_id}}`
 *
 * * `{{project}}/{{location}}/{{collection_id}}/{{engine_id}}/{{widget_config_id}}`
 *
 * * `{{location}}/{{collection_id}}/{{engine_id}}/{{widget_config_id}}`
 *
 * When using the `pulumi import` command, WidgetConfig can be imported using one of the formats above. For example:
 *
 * ```sh
 * $ pulumi import gcp:discoveryengine/widgetConfig:WidgetConfig default projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/engines/{{engine_id}}/widgetConfigs/{{widget_config_id}}
 * ```
 *
 * ```sh
 * $ pulumi import gcp:discoveryengine/widgetConfig:WidgetConfig default {{project}}/{{location}}/{{collection_id}}/{{engine_id}}/{{widget_config_id}}
 * ```
 *
 * ```sh
 * $ pulumi import gcp:discoveryengine/widgetConfig:WidgetConfig default {{location}}/{{collection_id}}/{{engine_id}}/{{widget_config_id}}
 * ```
 */
export declare class WidgetConfig extends pulumi.CustomResource {
    /**
     * Get an existing WidgetConfig 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?: WidgetConfigState, opts?: pulumi.CustomResourceOptions): WidgetConfig;
    /**
     * Returns true if the given object is an instance of WidgetConfig.  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 WidgetConfig;
    /**
     * Describes widget access settings.
     * Structure is documented below.
     */
    readonly accessSettings: pulumi.Output<outputs.discoveryengine.WidgetConfigAccessSettings>;
    /**
     * The collection ID.
     */
    readonly collectionId: pulumi.Output<string | undefined>;
    /**
     * The engine ID.
     */
    readonly engineId: pulumi.Output<string>;
    /**
     * Describes the homepage setting of the widget. It includes all homepage related settings
     * and configurations, such as shortcuts.
     * Structure is documented below.
     */
    readonly homepageSetting: pulumi.Output<outputs.discoveryengine.WidgetConfigHomepageSetting | 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 full resource name of the widget config. Format:
     * `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/widgetConfigs/{widget_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>;
    /**
     * Describes search widget UI branding settings, such as the widget title, logo,
     * favicons, and colors.
     * Structure is documented below.
     */
    readonly uiBranding: pulumi.Output<outputs.discoveryengine.WidgetConfigUiBranding | undefined>;
    /**
     * Describes general widget (or web app) UI settings as seen in the cloud console UI configuration page.
     * Structure is documented below.
     */
    readonly uiSettings: pulumi.Output<outputs.discoveryengine.WidgetConfigUiSettings>;
    /**
     * The unique ID to use for the WidgetConfig. Currently only accepts "defaultSearchWidgetConfig".
     */
    readonly widgetConfigId: pulumi.Output<string | undefined>;
    /**
     * Create a WidgetConfig 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: WidgetConfigArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering WidgetConfig resources.
 */
export interface WidgetConfigState {
    /**
     * Describes widget access settings.
     * Structure is documented below.
     */
    accessSettings?: pulumi.Input<inputs.discoveryengine.WidgetConfigAccessSettings>;
    /**
     * The collection ID.
     */
    collectionId?: pulumi.Input<string>;
    /**
     * The engine ID.
     */
    engineId?: pulumi.Input<string>;
    /**
     * Describes the homepage setting of the widget. It includes all homepage related settings
     * and configurations, such as shortcuts.
     * Structure is documented below.
     */
    homepageSetting?: pulumi.Input<inputs.discoveryengine.WidgetConfigHomepageSetting>;
    /**
     * 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 full resource name of the widget config. Format:
     * `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/widgetConfigs/{widget_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>;
    /**
     * Describes search widget UI branding settings, such as the widget title, logo,
     * favicons, and colors.
     * Structure is documented below.
     */
    uiBranding?: pulumi.Input<inputs.discoveryengine.WidgetConfigUiBranding>;
    /**
     * Describes general widget (or web app) UI settings as seen in the cloud console UI configuration page.
     * Structure is documented below.
     */
    uiSettings?: pulumi.Input<inputs.discoveryengine.WidgetConfigUiSettings>;
    /**
     * The unique ID to use for the WidgetConfig. Currently only accepts "defaultSearchWidgetConfig".
     */
    widgetConfigId?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a WidgetConfig resource.
 */
export interface WidgetConfigArgs {
    /**
     * Describes widget access settings.
     * Structure is documented below.
     */
    accessSettings?: pulumi.Input<inputs.discoveryengine.WidgetConfigAccessSettings>;
    /**
     * The collection ID.
     */
    collectionId?: pulumi.Input<string>;
    /**
     * The engine ID.
     */
    engineId: pulumi.Input<string>;
    /**
     * Describes the homepage setting of the widget. It includes all homepage related settings
     * and configurations, such as shortcuts.
     * Structure is documented below.
     */
    homepageSetting?: pulumi.Input<inputs.discoveryengine.WidgetConfigHomepageSetting>;
    /**
     * 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>;
    /**
     * Describes search widget UI branding settings, such as the widget title, logo,
     * favicons, and colors.
     * Structure is documented below.
     */
    uiBranding?: pulumi.Input<inputs.discoveryengine.WidgetConfigUiBranding>;
    /**
     * Describes general widget (or web app) UI settings as seen in the cloud console UI configuration page.
     * Structure is documented below.
     */
    uiSettings?: pulumi.Input<inputs.discoveryengine.WidgetConfigUiSettings>;
    /**
     * The unique ID to use for the WidgetConfig. Currently only accepts "defaultSearchWidgetConfig".
     */
    widgetConfigId?: pulumi.Input<string>;
}
