/// <reference path="../../index.d.ts" />
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
import type { T9nMeta } from "@arcgis/lumina/controllers";

export abstract class ArcgisSolutionsAssistant extends LitElement {
  /**
   * Contains the translations for this component.
   * All UI strings should be defined here.
   *
   * @internal
   */
  protected _translations: {
      agentProgress: {
          explorerAgentSearching: string;
          explorerAgentReading: string;
          explorerAgentReviewing: string;
          explorerAgentPreparing: string;
      };
      builderMessages: {
          understandingRequest: string;
          selectTemplatePrompt: string;
          searchingExistingSolutions: string;
          existingSolutionMatch: string;
          continueBuildingYes: string;
          continueBuildingNo: string;
          continueBuildingDeclined: string;
          creatingDesign: string;
          updatingDesign: string;
          applyChangeFailed: string;
          createDesignFailed: string;
          discardMessage: string;
          discardForNewSolution: string;
      };
      betaTag: string;
      defaultStartUpMessage: string;
      defaultFollowUpQuestions: {
          roadwayAssets: string;
          publicSafety: string;
          howToDeploy: string;
          buildOwnSolution: string;
      };
      disclaimerMessage: string;
      executingSolutionsAssistantAgent: string;
      genericErrorMessage: string;
      newConversationStarted: string;
      newConversationConfirmTitle: string;
      cancel: string;
      discard: string;
      noPermissionTitle: string;
      noPermissionMessage: string;
      reportConcern: string;
      solutionsDocReference: string;
      solutionsDocReferences: string;
      sendMessage: string;
      solutionAssistantTitle: string;
      signIn: string;
      signInMessage: string;
      tooltips: {
          close: string;
          likeButton: string;
          dislikeButton: string;
          copyButton: string;
          newConversation: string;
          newChat: string;
          sendQuestion: string;
          solutionBuilder: string;
          builder: string;
          toggleSolutionBuilder: string;
      };
      userCancelledRequest: string;
      viewSolutionInApp: string;
  } & T9nMeta<{
      agentProgress: {
          explorerAgentSearching: string;
          explorerAgentReading: string;
          explorerAgentReviewing: string;
          explorerAgentPreparing: string;
      };
      builderMessages: {
          understandingRequest: string;
          selectTemplatePrompt: string;
          searchingExistingSolutions: string;
          existingSolutionMatch: string;
          continueBuildingYes: string;
          continueBuildingNo: string;
          continueBuildingDeclined: string;
          creatingDesign: string;
          updatingDesign: string;
          applyChangeFailed: string;
          createDesignFailed: string;
          discardMessage: string;
          discardForNewSolution: string;
      };
      betaTag: string;
      defaultStartUpMessage: string;
      defaultFollowUpQuestions: {
          roadwayAssets: string;
          publicSafety: string;
          howToDeploy: string;
          buildOwnSolution: string;
      };
      disclaimerMessage: string;
      executingSolutionsAssistantAgent: string;
      genericErrorMessage: string;
      newConversationStarted: string;
      newConversationConfirmTitle: string;
      cancel: string;
      discard: string;
      noPermissionTitle: string;
      noPermissionMessage: string;
      reportConcern: string;
      solutionsDocReference: string;
      solutionsDocReferences: string;
      sendMessage: string;
      solutionAssistantTitle: string;
      signIn: string;
      signInMessage: string;
      tooltips: {
          close: string;
          likeButton: string;
          dislikeButton: string;
          copyButton: string;
          newConversation: string;
          newChat: string;
          sendQuestion: string;
          solutionBuilder: string;
          builder: string;
          toggleSolutionBuilder: string;
      };
      userCancelledRequest: string;
      viewSolutionInApp: string;
  }>;
  /**
   * Whether the solution builder panel is visible
   *
   * @default false
   */
  accessor builderVisible: boolean;
  /**
   * Whether there is an active builder design (not just example data)
   *
   * @default false
   */
  accessor hasActiveBuilderDesign: boolean;
  /**
   * Flag to open or close panel
   *
   * @default false
   */
  accessor open: boolean;
  /**
   * First name of user for personal approach
   *
   * @default ''
   */
  accessor userFirstName: string;
  /** Emitted on assistant is processing the request */
  readonly assistantProcessing: import("@arcgis/lumina").TargetedEvent<this, boolean>;
  /** Emitted on demand when cards are fetched */
  readonly closeAssistant: import("@arcgis/lumina").TargetedEvent<this, boolean>;
  readonly "@eventTypes": {
    assistantProcessing: ArcgisSolutionsAssistant["assistantProcessing"]["detail"];
    closeAssistant: ArcgisSolutionsAssistant["closeAssistant"]["detail"];
  };
}