import { JsonClientResponse } from "../client/JsonClientResponse";
import { StringDictionary } from "../util/StringDictionary";
import { FetchClient } from "../ws/FetchClient";
import { ContentRedirectionVisitor } from "./ContentRedirectionVisitor";
import { DialogRedirectionVisitor } from "./DialogRedirectionVisitor";
import { DialogRequest } from "./DialogRequest";
import { DialogVisitor } from "./DialogVisitor";
import { LargePropertyVisitor } from "./LargePropertyVisitor";
import { RecordSetVisitor } from "./RecordSetVisitor";
import { RecordVisitor } from "./RecordVisitor";
import { WriteLargePropertyParametersVisitor } from "./WriteLargePropertyParametersVisitor";
/**
 *
 */
export declare class DialogProxyTools {
    private static ACTION_PARAMETERS_MODEL_TYPE;
    private static ANNOTATION_MODEL_TYPE;
    private static DIALOG_MESSAGE_MODEL_TYPE;
    private static EDITOR_DIALOG_MODEL_TYPE;
    private static LOGIN_MODEL_TYPE;
    private static PROPERTY_MODEL_TYPE;
    private static PROPERTY_DEF_MODEL_TYPE;
    private static QUERY_DIALOG_MODEL_TYPE;
    private static RECORD_MODEL_TYPE;
    private static RECORD_SET_MODEL_TYPE;
    private static REFERRING_DIALOG_MODEL_TYPE;
    private static REFERRING_WORKBENCH_MODEL_TYPE;
    private static SESSION_MODEL_TYPE;
    private static CONTENT_STORAGE_KEY;
    private static DIALOG_STORAGE_KEY;
    private static PROPERTY_COMMIT_STORAGE_KEY;
    private static RECORD_COMMIT_STORAGE_KEY;
    private static RECORD_SET_STORAGE_KEY;
    private static RECORD_STORAGE_KEY;
    private static REDIRECTION_STORAGE_KEY;
    private static STORAGE_KEY_PREFIX;
    private static COMMON_FETCH_CLIENT;
    static captureDialog(userId: string, baseUrl: string, tenantId: string, sessionId: string, dialogId: string, referringDialogId: any): Promise<object>;
    static captureMenuActionRedirectionAndDialog(userId: string, baseUrl: string, tenantId: string, sessionId: string, dialogId: string, offlineDialogId: string, actionId: string, targetId: string): Promise<any>;
    static captureRecord(userId: string, baseUrl: string, tenantId: string, sessionId: string, beforeAndAfterValues: any, listDialogName: string): Promise<RecordVisitor>;
    static captureRecordSet(userId: string, baseUrl: string, tenantId: string, sessionId: string, beforeAndAfterValues: any, listDialogName: string): Promise<RecordSetVisitor>;
    static captureWorkbenchActionRedirectionAndDialog(userId: string, baseUrl: string, tenantId: string, sessionId: string, workbenchId: string, actionId: string): Promise<any>;
    static clearAllStorageAt(userId: string, tenantId: string): Promise<void>;
    static commonFetchClient(): FetchClient;
    static constructDialogMessageModel(message: string): {
        type: string;
        message: string;
    };
    static constructLoginModel(userId: string, password: string): object;
    static constructRedirectionStorageKey(userId: string, tenantId: string, stateId: string, actionId: string): string;
    static constructRequestNotValidDuringOfflineMode(action: string, resourcePath: string): JsonClientResponse;
    /**
     * Construct an empty null redirection with the following defaults:
     * referringObject will be a type of "hxgn.api.dialog.ReferringDialog"
     *      dialogAlias=null
     *      dialogName=null
     *      dialogMode='READ'
     *      actionId=null
     *      dialogId=null
     * refreshNeeded=true
     * id=randomly generated value
     */
    static constructNullRedirection(tenantId: string, sessionId: string): StringDictionary;
    static constructNullRedirectionId(): string;
    static isActionParametersModel(jsonObject: object): boolean;
    static isAnnotationModel(jsonObject: object): boolean;
    static isDialogModel(jsonObject: object): boolean;
    static isLoginModel(jsonObject: object): boolean;
    static isPropertyModel(jsonObject: object): boolean;
    static isPropertyDefModel(jsonObject: object): boolean;
    static isRecordModel(jsonObject: object): boolean;
    static isRecordSetModel(jsonObject: object): boolean;
    static isReferringDialogModel(jsonObject: object): boolean;
    static isReferringWorkbenchModel(jsonObject: object): boolean;
    static isSessionModel(jsonObject: object): boolean;
    static readDialogAsOfflineResponse(userId: string, request: DialogRequest): Promise<JsonClientResponse>;
    static readDialogAsVisitor(userId: string, request: DialogRequest): Promise<DialogVisitor>;
    static readDialogRedirectionAsVisitor(userId: string, tenantId: string, stateId: string, actionId: string): Promise<DialogRedirectionVisitor>;
    static readMenuActionRedirectionAsOfflineResponse(userId: string, request: DialogRequest): Promise<JsonClientResponse>;
    static readMenuActionRedirectionAsVisitor(userId: string, request: DialogRequest): Promise<DialogRedirectionVisitor>;
    static readPropertyCommit(userId: string, tenantId: string, dialogId: string, propertyName: string): Promise<any>;
    static readRecordAsOfflineResponse(userId: string, request: DialogRequest): Promise<JsonClientResponse>;
    static readRecordAsVisitor(userId: string, tenantId: string, dialogId: string): Promise<RecordVisitor>;
    static readRecordAsVisitorFromRequest(userId: string, request: DialogRequest): Promise<RecordVisitor>;
    static readRecordCommitAsVisitor(userId: string, tenantId: string, dialogId: string): Promise<RecordVisitor>;
    static readRecordSetAsOfflineResponse(userId: string, request: DialogRequest): Promise<JsonClientResponse>;
    static readRecordSetAsVisitor(userId: string, request: DialogRequest): Promise<RecordSetVisitor>;
    static readSessionContentAsOfflineResponse(userId: string, request: DialogRequest): Promise<JsonClientResponse>;
    static readSessionContentAsVisitor(userId: string, tenantId: string, contentId: string, sequence: number): Promise<LargePropertyVisitor>;
    static readWorkbenchActionRedirectionAsOfflineResponse(userId: string, request: DialogRequest): Promise<JsonClientResponse>;
    static showStoredDialogNavigation(): Promise<void>;
    static showAllStorageKeys(): Promise<void>;
    static showAllStorageKeysAndValues(): Promise<void>;
    static writeContentChunk(userId: string, tenantId: string, contentId: string, sequence: number, largePropertyVisitor: LargePropertyVisitor): Promise<void>;
    static writeContentRedirection(userId: string, tenantId: string, stateId: string, actionId: string, contentRedirectionVistor: ContentRedirectionVisitor): Promise<void>;
    static writeDialog(userId: string, tenantId: string, dialogVisitor: DialogVisitor): Promise<void>;
    static writeDialogRedirection(userId: string, tenantId: string, stateId: string, actionId: string, dialogRedirectionVistor: DialogRedirectionVisitor): Promise<void>;
    static writePropertyCommit(userId: string, tenantId: string, dialogId: string, propertyName: string, writeLargePropertyParametersVisitor: WriteLargePropertyParametersVisitor): Promise<void>;
    static writeRecord(userId: string, tenantId: string, dialogId: string, recordVisitor: RecordVisitor): Promise<void>;
    static writeRecordCommit(userId: string, tenantId: string, dialogId: string, recordVisitor: RecordVisitor): Promise<void>;
    static writeRecordSet(userId: string, tenantId: string, dialogId: string, recordSetVisitor: RecordSetVisitor): Promise<void>;
}
