import { PatternResult } from "./pattern";
export interface Topic {
    triggerQueries: string[];
    duplicates: string[];
}
/** @public */
export interface CopilotResult {
    name: string;
    displayName: string;
    result: PatternResult[];
    score: string;
}
/** @public */
export interface CopilotComponentsReviewResult {
    items: CopilotResult[];
    totalBots: number;
    totalScore: string;
}
export interface BotComponent {
    componentType: string;
    componentName: string;
    botComponentXml: string | null;
    data: any;
    isEnabled?: boolean;
}
export interface BotData {
    botLogicalName: string;
    botDisplayName: string;
    botXml: string | null;
    botConfig: any | null;
    botComponents: BotComponent[];
}
/** @public */
export interface Action {
    kind: string;
    dialog?: string;
    actions?: Action[];
    conditions?: Condition[];
}
export interface Condition {
    actions?: Action[];
}
/** @public */
export interface TopicIOProperty {
    variableName: string;
    displayName: string;
    description: string;
    type: string;
}
/** @public */
export interface TopicComponent {
    name: string;
    rawXml: string | null;
    rawYamlData: string | null;
    modelDescription: string;
    triggerQueries: string[];
    inputType: TopicIOProperty[];
    outputType: TopicIOProperty[];
    isEnabled: boolean;
    description: string | null;
}
/** @public */
export interface ActionInputProperty {
    kind: string;
    propertyName: string;
    name?: string;
    description?: string;
    value?: string;
    entity?: string;
    shouldPromptUser?: boolean;
}
/** @public */
export interface ActionOutputProperty {
    propertyName: string;
    description?: string;
}
/** @public */
export interface ActionComponent {
    name: string;
    rawXml: string | null;
    rawYamlData: string | null;
    description: string;
    modelDisplayName: string;
    modelDescription: string;
    inputs: ActionInputProperty[];
    outputs: ActionOutputProperty[];
    actionKind: string;
    outputMode: string;
    isEnabled: boolean;
}
/** @public */
export interface Agents {
    botLogicalName: string;
    botDisplayName: string;
    botXml: string | null;
    botConfig: any | null;
    isGenModeEnabled: boolean;
    botComponents: Array<{
        componentType: string;
        name: string;
        botComponentXml: string | null;
        data: any;
        description: string;
        isEnabled: boolean;
    }>;
    topics: TopicComponent[];
    entities: EntityComponent[];
    knowledge: KnowledgeComponent[];
    customGPT: CustomGPTComponent[];
    externalTriggers: ExternalTriggerComponent[];
    copilotSettings: any[];
    skills: any[];
    globalVariables: GlobalVariableComponent[];
    fileAttachments: FileAttachmentComponent[];
    actions: ActionComponent[];
    translations: any[];
    unknowns: any[];
}
export interface EntityItem {
    displayName: string;
    synonyms: string[];
}
/** @public */
export interface EntityComponent {
    name: string;
    rawXml: string | null;
    rawYamlData: string | null;
    description: string;
    kind: string;
    pattern: string;
    items: EntityItem[];
    isEnabled: boolean;
}
/** @public */
export interface BotSkeleton {
    botSchemaName: string;
    botDisplayName: string;
    authenticationmode: string;
    botXml: string;
    botConfig: any | null;
    isGenModeEnabled: boolean;
}
/** @public */
export interface ComponentInfo {
    botSchemaName: string;
    componentType: string;
    name: string;
    description: string;
    isEnabled: boolean;
    rawXml: string;
    rawYaml: string | null;
    yamlObj: any | null;
}
/** @public */
export interface KnowledgeComponent {
    name: string;
    description: string;
    isEnabled: boolean;
    kind: string;
    rawXml: string | null;
    rawYamlData: string | null;
    siteSearchKind: string;
    site: string;
    skillConfiguration: string;
}
/** @public */
export interface FileAttachmentComponent {
    name: string;
    description: string;
    isEnabled: boolean;
    rawXml: string | null;
    rawYamlData: string | null;
}
/** @public */
export interface GlobalVariableComponent {
    name: string;
    description: string;
    isEnabled: boolean;
    rawXml: string | null;
    rawYamlData: string | null;
    isExternalInitializationAllowed: boolean | null;
    scope: string;
    aIVisibility: string;
    initializationTimeoutInMilliseconds: number | null;
}
/** @public */
export interface ExternalTriggerComponent {
    name: string;
    rawXml: string | null;
    rawYamlData: string | null;
    description: string;
    isEnabled: boolean;
    externalTriggerSourceKind: string;
    flowId: string;
    flowName: string;
    flowUrl: string;
    triggerConnectionType: string;
}
/** @public */
export interface ConversationStarter {
    title: string;
    text: string;
}
/** @public */
export interface CustomGPTComponent {
    name: string;
    rawXml: string | null;
    rawYamlData: string | null;
    description: string;
    isEnabled: boolean;
    instructions: string;
    conversationStarters: ConversationStarter[];
}
//# sourceMappingURL=botInterface.d.ts.map