import { PluginPreRequest } from '@botonic/core';
import { HtBotActionNode, HtFlowBuilderData, HtKeywordNode, HtNodeComponent, HtNodeLink, HtNodeWithContent } from './content-fields/hubtype-fields';
import { HtSmartIntentNode } from './content-fields/hubtype-fields/smart-intent';
import { FlowBuilderApiOptions } from './types';
export declare class FlowBuilderApi {
    url: string;
    flowUrl: string;
    flow: HtFlowBuilderData;
    request: PluginPreRequest;
    private constructor();
    static create(options: FlowBuilderApiOptions): Promise<FlowBuilderApi>;
    private getFlow;
    private updateSessionWithUserInfo;
    getNodeByFlowId(id: string): HtNodeWithContent;
    getNodeById<T extends HtNodeComponent>(id: string): T;
    getNodeByContentID(contentID: string): HtNodeComponent;
    getStartNode(): HtNodeWithContent;
    getFallbackNode(alternate: boolean): HtNodeWithContent;
    getKnowledgeBaseConfig(): {
        followup?: HtNodeLink;
        isActive: boolean;
    } | undefined;
    getSmartIntentNodes(): HtSmartIntentNode[];
    getKeywordNodes(): HtKeywordNode[];
    getPayload(target?: HtNodeLink): string | undefined;
    isBotAction(id: string): boolean;
    private isUUID;
    createPayloadWithParams(botActionNode: HtBotActionNode): string;
    private getFollowUpContentID;
    getFlowName(flowId: string): string;
    getStartNodeKnowledgeBaseFlow(): HtNodeWithContent | undefined;
    getStartNodeAiAgentFlow(): HtNodeWithContent | undefined;
    isKnowledgeBaseEnabled(): boolean;
    getResolvedLocale(): string;
    private resolveAsLocale;
    private resolveAsLanguage;
    private resolveAsDefaultLocale;
}
