import { BlobClientResponse } from "../client/BlobClientResponse";
import { JsonClientResponse } from "../client/JsonClientResponse";
import { TextClientResponse } from "../client/TextClientResponse";
import { VoidClientResponse } from "../client/VoidClientResponse";
import { StreamProducer } from '../io/StreamProducer';
import { DialogDelegate } from "../proxy/DialogDelegate";
import { DialogProxy } from "../proxy/DialogProxy";
import { DialogRequest } from "../proxy/DialogRequest";
export declare class SdaDialogDelegate implements DialogDelegate {
    private static ALIAS_CREATE_COMMENT_MENU_ACTION_ID;
    private static ALIAS_OPEN_MENU_ACTION_ID;
    private static ALIAS_OPEN_LATEST_FILE_MENU_ACTION_ID;
    private static ALIAS_SHOW_LATEST_MENU_ACTION_ID;
    private static ALIAS_SHOW_TAGS_MENU_ACTION_ID;
    private static OPEN_MENU_ACTION_ID;
    private _dialogProxy;
    private _dialogDelegateStateVisitor;
    initialize(dialogProxy: DialogProxy): Promise<void>;
    isAnyUserInBriefcaseMode(tenantId: string): Promise<boolean>;
    isUserInBriefcaseMode(userInfo: {}): Promise<boolean>;
    getBlob(request: DialogRequest): Promise<BlobClientResponse> | null;
    getText(request: DialogRequest): Promise<TextClientResponse> | null;
    openStream(request: DialogRequest): Promise<StreamProducer> | null;
    postMultipart<T>(request: DialogRequest): Promise<VoidClientResponse> | null;
    getJson(request: DialogRequest): Promise<JsonClientResponse> | null;
    postJson(request: DialogRequest): Promise<JsonClientResponse> | null;
    putJson(request: DialogRequest): Promise<JsonClientResponse> | null;
    deleteJson(request: DialogRequest): Promise<JsonClientResponse> | null;
    handleDeleteJsonResponse(request: DialogRequest, response: Promise<JsonClientResponse>): Promise<JsonClientResponse> | null;
    handleGetBlobResponse(request: DialogRequest, response: Promise<BlobClientResponse>): Promise<BlobClientResponse> | null;
    handleGetJsonResponse(request: DialogRequest, response: Promise<JsonClientResponse>): Promise<JsonClientResponse> | null;
    handleGetTextResponse(request: DialogRequest, response: Promise<TextClientResponse>): Promise<TextClientResponse> | null;
    handleOpenStreamResponse(request: DialogRequest, response: Promise<StreamProducer>): Promise<StreamProducer> | null;
    handlePostJsonResponse(request: DialogRequest, response: Promise<JsonClientResponse>): Promise<JsonClientResponse> | null;
    handlePostMultipartResponse<T>(request: DialogRequest, response: Promise<VoidClientResponse>): Promise<VoidClientResponse> | null;
    handlePutJsonResponse(request: DialogRequest, response: Promise<JsonClientResponse>): Promise<JsonClientResponse> | null;
    private captureOfflineSession;
    private captureNextOfflineWorkPackage;
    private captureNextOfflineTags;
    private captureNextOfflineTag;
    private captureNextOfflineDocumentContent;
    private captureNextOfflineLastComment;
    private captureOfflineWorkPackages;
    private constructCreateCommentNullRedirection;
    private delegateBaseUrl;
    private delegateBriefcaseVisitor;
    private delegateOnline;
    private delegateSelectedWorkPackageIds;
    private delegateUserId;
    private delegateWorkPackagesRecordSetVisitor;
    private initializeAfterCreateSession;
    private notifyClientListener;
    private performBriefcaseWorkbenchActionRequest;
    private performCreateSessionRequest;
    private performDeleteSessionRequest;
    private performEnterOfflineModeContinueRequest;
    private performEnterOfflineModeMenuActionRequest;
    /**
     *
     * NOTE: The Work_Package_Id referenced by the show_tags action is an implied Work_Package_Id, it is not
     *       an actual argument on the action. It can be implied because the parent dialog is constrained by
     *       the work package id.
     *
     * Work_Packages
     *      .alias_Open@Work_Package_Id -> Workpackage_Documents_FORM@Work_Package_Id
     *          Workpackage_Documents_Documents@Work_Package_Id
     *              .create_comment@Document_ID -> Documents_CreateComment
     *          .show_tags@Work_Package_Id -> Tags
     *              Workpackage_Tags_Tags@Work_Package_Id
     *                  .create_comment@Tag_Id -> Documents_CreateComment
     *              .open@TagId -> Tag_Details_FORM@Tag_Id
     *                  Tag_Details_Documents@Tag_Id
     *                      .createComment@Document_Id -> Documents_CreateComment
     *
     */
    private performExitOfflineModeMenuActionRequest;
    private performOfflineBriefcaseCommentsRequest;
    private performOfflineBriefcaseWorkPackagesRequest;
    private performOfflineCreateCommentMenuAction;
    private performOfflineDocumentsPropertiesRecordRequest;
    private performOfflineShowDocsMenuAction;
    private performOfflineShowLatestMenuAction;
    private performOfflineTagsPropertiesRecordRequest;
    private performWorkPackagesAddWorkPackageToBriefcase;
    private performWorkPackagesRemoveWorkPackageFromBriefcase;
}
