import { BotonicContext } from '@botonic/core';
import { HtBotActionNode, HtCaptureUserInputNode, HtFlowBuilderData, HtKeywordNode, HtNodeComponent, HtNodeLink, HtNodeWithContent, HtRatingButton, HtRatingNode, HtSmartIntentNode } from './content-fields/hubtype-fields/index';
export declare class FlowBuilderApi {
    botonicContext: BotonicContext;
    flow: HtFlowBuilderData;
    private constructor();
    static create(botonicContext: BotonicContext, localFlow?: HtFlowBuilderData): Promise<FlowBuilderApi>;
    getNodeByFlowId(id: string): HtNodeWithContent;
    getNodeByCampaignId<T extends HtNodeComponent>(id: string): T;
    getNodeById<T extends HtNodeComponent>(id: string): T;
    getRatingNodeByButtonId(id: string): HtRatingNode;
    getRatingButtonById(ratingNode: HtRatingNode, id: string): HtRatingButton;
    getNodeByContentID(contentID: string): HtNodeComponent;
    getStartNode(): HtNodeWithContent;
    getStartNodeAiAgentFlow(): HtNodeWithContent | undefined;
    getFallbackNode(alternate: boolean): HtNodeWithContent;
    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;
    getCampaignFlowName(campaignId: string): string;
    getStartNodeKnowledgeBaseFlow(): HtNodeWithContent | undefined;
    isKnowledgeBaseEnabled(): boolean;
    isAiAgentEnabled(): boolean;
    shouldCaptureUserInput(): boolean;
    getCaptureUserInputId(): string | undefined;
    setCaptureUserInputId(id: string): Promise<void>;
    removeCaptureUserInputId(): Promise<void>;
    setUserExtraDataVariable(key: string, value: string): Promise<void>;
    getCaptureUserInputNode(): HtCaptureUserInputNode | undefined;
    getResolvedLocale(): string;
}
