import { APIClientBase } from './APIClientBase';
export declare class AccountClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Authenticates a session and generates a FormsAuthenticationTicket and cookie
     */
    postLogin(credentials: SiteLogin): Promise<string | null>;
    private postLoginWithCallbacks;
    private processPostLoginWithCallbacks;
    protected processPostLogin(xhr: any): string | null | null;
    /**
     * Returns general information about the Authenticated user
     */
    getUserData(): Promise<CurrentUser | null>;
    private getUserDataWithCallbacks;
    private processGetUserDataWithCallbacks;
    protected processGetUserData(xhr: any): CurrentUser | null | null;
    /**
     * Returns authorization flags for specified demand if they match or exceed the request
     * @param demand Demand Context
     */
    getAccessAllows(demand: PermissionContext): Promise<PermissionFlags>;
    private getAccessAllowsWithCallbacks;
    private processGetAccessAllowsWithCallbacks;
    protected processGetAccessAllows(xhr: any): PermissionFlags | null;
    /**
     * Digest an identity from an Google token
     * @param subId google nonvolatile id
     * @param nonce nonce
     * @param token token
     */
    shareGoogleAuth(subId: string | null, nonce: string, token: any): Promise<string | null>;
    private shareGoogleAuthWithCallbacks;
    private processShareGoogleAuthWithCallbacks;
    protected processShareGoogleAuth(xhr: any): string | null | null;
    /**
     * Ends this session
     */
    getEndOfSession(): Promise<boolean>;
    private getEndOfSessionWithCallbacks;
    private processGetEndOfSessionWithCallbacks;
    protected processGetEndOfSession(xhr: any): boolean | null;
    /**
     * Digest an identity from an MSAL token
     * @param entraID full oid.tid
     * @param nonce nonce
     * @param token token
     */
    shareMSALAuth(entraID: string | null, nonce: string, token: any): Promise<string | null>;
    private shareMSALAuthWithCallbacks;
    private processShareMSALAuthWithCallbacks;
    protected processShareMSALAuth(xhr: any): string | null | null;
    /**
     * Returns information about password composition
     */
    getPasswordOptions(): Promise<PasswordConfiguredOptions | null>;
    private getPasswordOptionsWithCallbacks;
    private processGetPasswordOptionsWithCallbacks;
    protected processGetPasswordOptions(xhr: any): PasswordConfiguredOptions | null | null;
    /**
     * Returns true
     */
    hasSession(): Promise<boolean>;
    private hasSessionWithCallbacks;
    private processHasSessionWithCallbacks;
    protected processHasSession(xhr: any): boolean | null;
}
export declare class ActionItemsClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Returns action items for specified User
     * @param forUserKey User Key (for proxy) or 00000000-0000-0000-0000-000000000000 for self
     */
    getUserActionItems(forUserKey: string): Promise<UserActionItem[] | null>;
    private getUserActionItemsWithCallbacks;
    private processGetUserActionItemsWithCallbacks;
    protected processGetUserActionItems(xhr: any): UserActionItem[] | null | null;
    /**
     * Returns an action item for the specified User
     * @param userID User Key or 1 for self
     * @param dtk Document Type
     * @param routeID Route ID (GUID)
     * @param projectLike Project ID or mask
     * @param titleLike (optional) Title Like (max 50)
     */
    getRouteActionInfo(userID: string | null, dtk: string, routeID: string, projectLike: string | null, titleLike?: string | null | undefined): Promise<RouteActionInfo | null>;
    private getRouteActionInfoWithCallbacks;
    private processGetRouteActionInfoWithCallbacks;
    protected processGetRouteActionInfo(xhr: any): RouteActionInfo | null | null;
    /**
     * Updates an action item for the specified User
     * @param userID User Key or 1 for self
     * @param routeID Route ID (guid)
     * @param actionData action patch data
     * @param actionMode (optional) Mode is id,match,every
     */
    patchUserActionItems(userID: string | null, routeID: string, actionData: RouteActionData, actionMode?: string | null | undefined): Promise<HttpStatusCode>;
    private patchUserActionItemsWithCallbacks;
    private processPatchUserActionItemsWithCallbacks;
    protected processPatchUserActionItems(xhr: any): HttpStatusCode | null;
    /**
     * Returns documents data that has changed
     * @param forUserKey User Key (for proxy) or 00000000-0000-0000-0000-000000000000 for self
     * @param dataSummary KVP of current row keys (RouteID) and eTags
     */
    getChangedActionItems(forUserKey: string, dataSummary: CurrentDataSummary[]): Promise<DataDifferential | null>;
    private getChangedActionItemsWithCallbacks;
    private processGetChangedActionItemsWithCallbacks;
    protected processGetChangedActionItems(xhr: any): DataDifferential | null | null;
    /**
     * Returns action items that match filters ProjectLike, TitleLike, ForDocType, FromDate, ThruDate, NewOnly
     */
    getMatchingUserActionItems(usingFilters: QueryFilters): Promise<UserActionItem[] | null>;
    private getMatchingUserActionItemsWithCallbacks;
    private processGetMatchingUserActionItemsWithCallbacks;
    protected processGetMatchingUserActionItems(xhr: any): UserActionItem[] | null | null;
}
export declare class AlertsClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Returns alert items for a specified user
     * @param forUserKey User Key (for proxy) or 00000000-0000-0000-0000-000000000000 for self
     */
    getUserAlertList(forUserKey: string): Promise<UserAlert[] | null>;
    private getUserAlertListWithCallbacks;
    private processGetUserAlertListWithCallbacks;
    protected processGetUserAlertList(xhr: any): UserAlert[] | null | null;
    /**
     * Creates and stores an alert
     * @param theAlert Model with new alert. Specify AlertText, Description.  UserKey, DocMasterKey, Project, Source, SourceKey and Info1 are optional;
     */
    createAlert(theAlert: UserAlert): Promise<HttpStatusCode>;
    private createAlertWithCallbacks;
    private processCreateAlertWithCallbacks;
    protected processCreateAlert(xhr: any): HttpStatusCode | null;
    /**
     * Returns changed alert items for a specified user
     * @param forUserKey User Key (for proxy) or 00000000-0000-0000-0000-000000000000 for self
     * @param dataSummary KVP of current row keys (AlertKey) and eTags
     */
    getUserAlertChangeList(forUserKey: string, dataSummary: CurrentDataSummary[]): Promise<DataDifferential | null>;
    private getUserAlertChangeListWithCallbacks;
    private processGetUserAlertChangeListWithCallbacks;
    protected processGetUserAlertChangeList(xhr: any): DataDifferential | null | null;
    /**
     * Removes a specific alert item for the specified user
     * @param id Alert Key
     * @param forUserKey (optional) User Key (for proxy) or 00000000-0000-0000-0000-000000000000 for self
     */
    deleteAlert(id: string | null, forUserKey?: string | undefined): Promise<HttpStatusCode>;
    private deleteAlertWithCallbacks;
    private processDeleteAlertWithCallbacks;
    protected processDeleteAlert(xhr: any): HttpStatusCode | null;
    /**
     * Removes all alert item for the specified user
     * @param forUserKey (optional) User Key (for proxy) or 00000000-0000-0000-0000-000000000000 for self
     */
    deleteAllAlerts(forUserKey?: string | undefined): Promise<HttpStatusCode>;
    private deleteAllAlertsWithCallbacks;
    private processDeleteAllAlertsWithCallbacks;
    protected processDeleteAllAlerts(xhr: any): HttpStatusCode | null;
}
export declare class LookupClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Returns list of alerts that are recorded about the specified source key
     * @param key PK identifier of specific source key
     */
    getAlertsForSourceKey(key: string): Promise<{
        [key: string]: any;
    }[] | null>;
    private getAlertsForSourceKeyWithCallbacks;
    private processGetAlertsForSourceKeyWithCallbacks;
    protected processGetAlertsForSourceKey(xhr: any): {
        [key: string]: any;
    }[] | null | null;
    /**
     * Returns list of choices for a specified context
     * @param setName Name of Code Set
     * @param forDocType Document / Process Context for choices, use 1 for default
     */
    getCodeChoices(setName: string | null, forDocType: string | null): Promise<CodeChoice[] | null>;
    private getCodeChoicesWithCallbacks;
    private processGetCodeChoicesWithCallbacks;
    protected processGetCodeChoices(xhr: any): CodeChoice[] | null | null;
    /**
     * Returns list of comments on a topic. See also DocumentToolsController
     * @param topicKey Topic Key (complianceItemKey, ContactKey, etc)
     */
    getComments(topicKey: string): Promise<Comment[] | null>;
    private getCommentsWithCallbacks;
    private processGetCommentsWithCallbacks;
    protected processGetComments(xhr: any): Comment[] | null | null;
    /**
     * Adds a comments onto a topic. See also DocumentToolsController
     * @param topicKey Topic Key (complianceItemKey, ContactKey, etc)
     * @param newData new comment
     */
    addComment(topicKey: string, newData: Comment): Promise<Comment | null>;
    private addCommentWithCallbacks;
    private processAddCommentWithCallbacks;
    protected processAddComment(xhr: any): Comment | null | null;
    /**
     * Removes the specified comment
     * @param topicKey Topic Key (complianceItemKey, ContactKey, etc)
     * @param removeKey Remove key
     */
    deleteComment(topicKey: string, removeKey: string): Promise<any>;
    private deleteCommentWithCallbacks;
    private processDeleteCommentWithCallbacks;
    protected processDeleteComment(xhr: any): any | null;
    /**
     * Returns list of prior values for this field
     * @param dataMember Name of table
     * @param dataField Name of field
     * @param rowKey PK identifier of specific record
     * @param sinceWhen (optional) Optional date since when data should be returned
     */
    getFieldHistory(dataMember: string | null, dataField: string | null, rowKey: string, sinceWhen?: Date | undefined): Promise<FieldAudit[] | null>;
    private getFieldHistoryWithCallbacks;
    private processGetFieldHistoryWithCallbacks;
    protected processGetFieldHistory(xhr: any): FieldAudit[] | null | null;
    /**
     * Returns list of suggestions for a specified context
     * @param lookupName Name of Lookup
     * @param dataContext Context for Suggestions, use 1 for default
     * @param filterValues Optional nvp list of filter and dependsOn values
     */
    getLookupResultAll(lookupName: string | null, dataContext: string | null, filterValues: QueryFilters): Promise<{
        [key: string]: any;
    }[] | null>;
    private getLookupResultAllWithCallbacks;
    private processGetLookupResultAllWithCallbacks;
    protected processGetLookupResultAll(xhr: any): {
        [key: string]: any;
    }[] | null | null;
    /**
     * Returns result of query given specified context
     * @param dataContext Data Set ID or 1
     * @param queryContext ProjectLike (or 0 for none; 1 for from context; or specific); depends1-4
     * @param id (optional) GUID key or 0 for none; 1 for from context
     * @param dtk (optional) GUID process type or omit or 0 for none; 1 from context
     */
    getQueryResultWithContext(queryName: string | null, dataContext: string | null, queryContext: QueryFilters, id?: string | null | undefined, dtk?: string | null | undefined): Promise<{
        [key: string]: any;
    }[] | null>;
    private getQueryResultWithContextWithCallbacks;
    private processGetQueryResultWithContextWithCallbacks;
    protected processGetQueryResultWithContext(xhr: any): {
        [key: string]: any;
    }[] | null | null;
    /**
     * Returns result of query given specified context
     * @param dataContext Data Set ID or 1
     * @param project Project ID (or 0 for none; 1 for from context)
     * @param id GUID key or 0 for none; 1 for from context
     * @param dtk (optional) GUID process type or omit or 0 for none; 1 from context
     * @param depends1 (optional) optional additional context for query
     * @param depends2 (optional) Optional additional context for query
     * @param depends3 (optional) Optional additional context for query
     * @param depends4 (optional) Optional additional context for query
     */
    getQueryResult(queryName: string | null, dataContext: string | null, project: string | null, id: string | null, dtk?: string | null | undefined, depends1?: string | null | undefined, depends2?: string | null | undefined, depends3?: string | null | undefined, depends4?: string | null | undefined): Promise<{
        [key: string]: any;
    }[] | null>;
    private getQueryResultWithCallbacks;
    private processGetQueryResultWithCallbacks;
    protected processGetQueryResult(xhr: any): {
        [key: string]: any;
    }[] | null | null;
    /**
     * Returns default value for the requested segment of a flex key mask
     * @param maskName EG PROJECT or TASK
     * @param sn segment number (1 to 6)
     * @param seed (optional) seed value
     * @param target (optional) target (eg docno, Project, WBC)
     * @param forDTK (optional) for DTK (required for docno target
     * @param forProject (optional) for project (required for WBC and some doc types
     */
    getNextSegmentValue(maskName: string | null, sn: number, seed?: string | null | undefined, target?: string | null | undefined, forDTK?: string | null | undefined, forProject?: string | null | undefined): Promise<string | null>;
    private getNextSegmentValueWithCallbacks;
    private processGetNextSegmentValueWithCallbacks;
    protected processGetNextSegmentValue(xhr: any): string | null | null;
    /**
     * Returns list of suggestions for a specified context
     * @param lookupName Name of Lookup
     * @param dataContext Context for Suggestions, use 1 for default
     * @param term (optional) Optional Partial match term to filter suggestions
     * @param limit (optional) Optional Limit to result count; default is 20; use -1 for all
     */
    getSuggestionsAll(lookupName: string | null, dataContext: string | null, term?: string | null | undefined, limit?: number | undefined): Promise<Suggestion[] | null>;
    private getSuggestionsAllWithCallbacks;
    private processGetSuggestionsAllWithCallbacks;
    protected processGetSuggestionsAll(xhr: any): Suggestion[] | null | null;
    /**
     * Returns list of suggestions for a specified context
     * @param lookupName Name of Lookup
     * @param dataContext Context for Suggestions, use 1 for default
     * @param depends1 Optional context for Suggestions
     * @param term (optional) Optional Partial match term to filter suggestions
     * @param limit (optional) Optional Limit to result count; default is 20; use -1 for all
     */
    getSuggestions(lookupName: string | null, dataContext: string | null, depends1: string | null, term?: string | null | undefined, limit?: number | undefined): Promise<Suggestion[] | null>;
    private getSuggestionsWithCallbacks;
    private processGetSuggestionsWithCallbacks;
    protected processGetSuggestions(xhr: any): Suggestion[] | null | null;
    /**
     * Returns list of suggestions for a specified context
     * @param lookupName Name of Lookup
     * @param dataContext Context for Suggestions, use 1 for default
     * @param depends1 Optional context for Suggestions
     * @param depends2 Optional context for Suggestions
     * @param depends3 Optional context for Suggestions
     * @param depends4 Optional context for Suggestions
     * @param term (optional) Optional Partial match term to filter suggestions
     * @param limit (optional) Optional Limit to result count; default is 20; use -1 for all
     */
    getSuggestions2(lookupName: string | null, dataContext: string | null, depends1: string | null, depends2: string | null, depends3: string | null, depends4: string | null, term?: string | null | undefined, limit?: number | undefined): Promise<Suggestion[] | null>;
    private getSuggestions2WithCallbacks;
    private processGetSuggestions2WithCallbacks;
    protected processGetSuggestions2(xhr: any): Suggestion[] | null | null;
    /**
     * Returns list of suggestions for a specified context
     * @param lookupName Name of Lookup
     * @param sessionContext Session Context for Suggestions, use 1 for default
     * @param searchContext Search Context for Suggestions (depends on list, seed, limit)
     */
    getSuggestionsWithContext(lookupName: string | null, sessionContext: string | null, searchContext: QueryFilters): Promise<Suggestion[] | null>;
    private getSuggestionsWithContextWithCallbacks;
    private processGetSuggestionsWithContextWithCallbacks;
    protected processGetSuggestionsWithContext(xhr: any): Suggestion[] | null | null;
    /**
     * Returns a single viewable/printable value matching the request.  Use 'empty' to include a blank depends-on value.
     * @param displayName Name of Display Rule
     * @param valueFor Value to be described {MatchingSeed:'pv',DependsOn:['1','2','3','4']}
     * @param dataContext (optional) Context for Suggestions, use 1 for default
     */
    getDisplayableValue(displayName: string | null, valueFor: DVRequest, dataContext?: string | null | undefined): Promise<string | null>;
    private getDisplayableValueWithCallbacks;
    private processGetDisplayableValueWithCallbacks;
    protected processGetDisplayableValue(xhr: any): string | null | null;
    /**
     * Flushes viewable/printable value from cache forcing refresh on next request
     * @param displayName Name of Display Rule
     * @param valueFor Value to be re-described {MatchingSeed:'pv',DependsOn:['1','2','3','4']}
     * @param dataContext (optional) Context, use 1 for default
     */
    removeDisplayableValue(displayName: string | null, valueFor: DVRequest, dataContext?: string | null | undefined): Promise<boolean>;
    private removeDisplayableValueWithCallbacks;
    private processRemoveDisplayableValueWithCallbacks;
    protected processRemoveDisplayableValue(xhr: any): boolean | null;
    /**
     * Returns set of viewable/printable values
     * @param dvRequests List of requests
     */
    getDisplayValueCollection(dvRequests: DVRequest[]): Promise<Suggestion[] | null>;
    private getDisplayValueCollectionWithCallbacks;
    private processGetDisplayValueCollectionWithCallbacks;
    protected processGetDisplayValueCollection(xhr: any): Suggestion[] | null | null;
}
export declare class CatalogClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Releases a resource, usually a PDF of a report or export
     * @param fileKey Catalog File Key
     * @param location Specifies where to look for the specified key.  Use CRT, RS
     * @return Request processed
     */
    disposeFile(fileKey: string, location: string | null): Promise<string>;
    private disposeFileWithCallbacks;
    private processDisposeFileWithCallbacks;
    protected processDisposeFile(xhr: any): string | null;
    /**
     * Attaches a resource file to specified document
     * @param fileKey Catalog File Key
     * @param location Specifies where to look for the specified key.  Use CK, CRT, RS
     * @param targetDMK Specifies the target document key
     */
    catalogAndAttach(fileKey: string, location: string | null, targetDMK: string): Promise<string | null>;
    private catalogAndAttachWithCallbacks;
    private processCatalogAndAttachWithCallbacks;
    protected processCatalogAndAttach(xhr: any): string | null | null;
    /**
     * Sends a resource file To the current user via email
     * @param fileKey Catalog File Key
     * @param location Specifies where To look For the specified key.  Use CK, CRT, RS
     * @param refDMK (optional) Specifies the related document key
     */
    sendFile(fileKey: string, location: string | null, refDMK?: string | null | undefined): Promise<string | null>;
    private sendFileWithCallbacks;
    private processSendFileWithCallbacks;
    protected processSendFile(xhr: any): string | null | null;
    /**
     * Returns a history Of access To the specified ID
     * @param fileKey Catalog File Key
     */
    getCatalogAccessHistory(fileKey: string): Promise<FileAccessHistory[] | null>;
    private getCatalogAccessHistoryWithCallbacks;
    private processGetCatalogAccessHistoryWithCallbacks;
    protected processGetCatalogAccessHistory(xhr: any): FileAccessHistory[] | null | null;
    /**
     * Gets share state Of file (check In/out, lock, etc
     * @param fileKey Catalog File Key
     */
    getFileAccessControl(fileKey: string): Promise<FileInformation | null>;
    private getFileAccessControlWithCallbacks;
    private processGetFileAccessControlWithCallbacks;
    protected processGetFileAccessControl(xhr: any): FileInformation | null | null;
    /**
     * Changes share state Of file (check In/out, lock, etc
     * @param fileKey Catalog File Key
     * @param newStatus New Status O(ut);L(ock);U(nlock);I(n);X(cancel);SYS
     * @param expires (optional) When a checkout Or lock expires
     */
    updateFileAccess(fileKey: string, newStatus: string | null, expires?: Date | undefined): Promise<boolean>;
    private updateFileAccessWithCallbacks;
    private processUpdateFileAccessWithCallbacks;
    protected processUpdateFileAccess(xhr: any): boolean | null;
    /**
     * Creates a copy Of the specified file
     * @param fileKey Catalog File Key
     */
    copyFile(fileKey: string): Promise<FileVersion | null>;
    private copyFileWithCallbacks;
    private processCopyFileWithCallbacks;
    protected processCopyFile(xhr: any): FileVersion | null | null;
    /**
     * Returns a redirect To load Or download the requested file
     * @param fileKey Catalog File Key
     * @param fileRev (optional) Specific Revision
     * @param withContentDisposition (optional) True For download (content-disposition), False For plain
     */
    getFile(fileKey: string, fileRev?: number | undefined, withContentDisposition?: boolean | undefined): Promise<RedirectResult | null>;
    private getFileWithCallbacks;
    private processGetFileWithCallbacks;
    protected processGetFile(xhr: any): RedirectResult | null | null;
    /**
     * Returns a URI to load Or download the requested file
     * @param fileKey Catalog File Key
     * @param fileRev (optional) Specific Revision
     * @param withContentDisposition (optional) True For download (content-disposition), False For plain
     */
    getFileURL(fileKey: string, fileRev?: number | undefined, withContentDisposition?: boolean | undefined): Promise<string | null>;
    private getFileURLWithCallbacks;
    private processGetFileURLWithCallbacks;
    protected processGetFileURL(xhr: any): string | null | null;
    /**
     * Returns the meta data For a specific file utilization stats
     * @param fileKey Catalog File Key
     */
    getMeta(fileKey: string): Promise<FileInformation | null>;
    private getMetaWithCallbacks;
    private processGetMetaWithCallbacks;
    protected processGetMeta(xhr: any): FileInformation | null | null;
    /**
     * Returns a redirect To load Or download the requested file
     * @param fileKey Catalog File Key
     * @param width Width
     * @param height Height; either width or height can be zero for a proportional aspect ratio
     * @param fileRev (optional) Specific Revision
     */
    getFilePreview(fileKey: string, width: number, height: number, fileRev?: number | undefined): Promise<RedirectResult | null>;
    private getFilePreviewWithCallbacks;
    private processGetFilePreviewWithCallbacks;
    protected processGetFilePreview(xhr: any): RedirectResult | null | null;
    /**
     * Returns a URI to download the requested file preview
     * @param fileKey Catalog File Key
     * @param width Width
     * @param height Height; either width or height can be zero for a proportional aspect ratio
     * @param fileRev (optional) Specific Revision
     */
    getFilePreviewURL(fileKey: string, width: number, height: number, fileRev?: number | undefined): Promise<string | null>;
    private getFilePreviewURLWithCallbacks;
    private processGetFilePreviewURLWithCallbacks;
    protected processGetFilePreviewURL(xhr: any): string | null | null;
    /**
     * Returns key to a document intended to route this file for approvals
     * @param fileKey Catalog File Key
     */
    getFileRouter(fileKey: string): Promise<string>;
    private getFileRouterWithCallbacks;
    private processGetFileRouterWithCallbacks;
    protected processGetFileRouter(xhr: any): string | null;
    /**
     * Returns a list Of versions For the specified ID; see also Meta info
     * @param fileKey Catalog File Key
     */
    getCatalogVersions(fileKey: string): Promise<FileVersion[] | null>;
    private getCatalogVersionsWithCallbacks;
    private processGetCatalogVersionsWithCallbacks;
    protected processGetCatalogVersions(xhr: any): FileVersion[] | null | null;
    /**
     * Deletes the specified file
     * @param iD Catalog File Key
     * @param fileRev (optional) Specific Revision or zero (default) to delete the file
     */
    deleteFile(iD: string, fileRev?: number | undefined): Promise<any>;
    private deleteFileWithCallbacks;
    private processDeleteFileWithCallbacks;
    protected processDeleteFile(xhr: any): any | null;
    /**
     * Returns a background task ID and initiates a task to build a PDF of all documents enumerated in the exportRequest
     * @param exportRequest Specifics for export requested
     */
    postDocInfoExport(exportRequest: ExportRequest): Promise<string>;
    private postDocInfoExportWithCallbacks;
    private processPostDocInfoExportWithCallbacks;
    protected processPostDocInfoExport(xhr: any): string | null;
    /**
     * Returns a CRT Task key
     * @param fileKeyList Catalog File Keys
     * @param format (optional) zip
     * @param summary (optional) When true, sends Summary email
     */
    downloadFiles(fileKeyList: string[], format?: string | null | undefined, summary?: boolean | undefined): Promise<string>;
    private downloadFilesWithCallbacks;
    private processDownloadFilesWithCallbacks;
    protected processDownloadFiles(xhr: any): string | null;
    /**
     * Returns a CRT Task key
     * @param exportRequest Export Parameters, optional target file name and fileKey collection in WhichRows[].RowKey
     * @param summary (optional) When true, sends Summary email
     */
    downloadZip(exportRequest: ExportRequest, summary?: boolean | undefined): Promise<string>;
    private downloadZipWithCallbacks;
    private processDownloadZipWithCallbacks;
    protected processDownloadZip(xhr: any): string | null;
    /**
     * Creates a New empty file
     * @param fileKey Parent Folder Key
     * @param fileName Parent Folder Key
     */
    addFileToFolder(fileKey: string, fileName: string | null): Promise<FileInformation | null>;
    private addFileToFolderWithCallbacks;
    private processAddFileToFolderWithCallbacks;
    protected processAddFileToFolder(xhr: any): FileInformation | null | null;
    /**
     * Creates a New folder In the specified folder
     * @param folderDesignation Catalog Folder Key
     * @param folderName New Folder Name
     * @param newContainerKey (optional) Optional New Folder Key
     */
    addFolder(folderDesignation: string | null, folderName: string | null, newContainerKey?: string | null | undefined): Promise<FileInformation | null>;
    private addFolderWithCallbacks;
    private processAddFolderWithCallbacks;
    protected processAddFolder(xhr: any): FileInformation | null | null;
    /**
     * Returns a list of files in the specified location
     * @param folderDesignation Catalog Folder ID (GUID Or root)
     * @param catalogFilters ClientDataSummary (of FileKey And eTags) And Additional Filters, including ProjectLike, TitleLike (filename), ContainsText, HasHash, DocNoLike, ForDocType, PrimaryDateRange, RefDateRange; seldom used UserKey, FileKey, DocMasterKey(attached To), MaxItems, TimeoutFactor
     */
    getChangedFolderContents(folderDesignation: string | null, catalogFilters: QueryFilters): Promise<DataDifferential | null>;
    private getChangedFolderContentsWithCallbacks;
    private processGetChangedFolderContentsWithCallbacks;
    protected processGetChangedFolderContents(xhr: any): DataDifferential | null | null;
    /**
     * Returns a list Of folders In the specified location
     * @param folderDesignation Catalog Folder ID (GUID Or root)
     */
    getFolderChildren(folderDesignation: string | null): Promise<FileInformation[] | null>;
    private getFolderChildrenWithCallbacks;
    private processGetFolderChildrenWithCallbacks;
    protected processGetFolderChildren(xhr: any): FileInformation[] | null | null;
    /**
     * Returns a list of files or documents in the specified location
     * @param folderDesignation Catalog Folder ID (GUID or root)
     * @param catalogFilters Additional Filters, including ProjectLike, TitleLike (filename), ContainsText, HasHash, DocNoLike, ForDocType, PrimaryDateRange, RefDateRange; seldom used: UserKey, FileKey, DocMasterKey (attached to), MaxItems, TimeoutFactor
     */
    getFolderContents(folderDesignation: string | null, catalogFilters: QueryFilters): Promise<FileInformation[] | null>;
    private getFolderContentsWithCallbacks;
    private processGetFolderContentsWithCallbacks;
    protected processGetFolderContents(xhr: any): FileInformation[] | null | null;
    /**
     * Deletes the specified folder
     * @param folderKey Catalog Folder Key
     */
    deleteFolder(folderKey: string): Promise<any>;
    private deleteFolderWithCallbacks;
    private processDeleteFolderWithCallbacks;
    protected processDeleteFolder(xhr: any): any | null;
    /**
     * Returns a FileInformation model for the specified folder
     * @param folderKey Catalog Folder Key
     */
    getFolderInfo(folderKey: string): Promise<FileInformation | null>;
    private getFolderInfoWithCallbacks;
    private processGetFolderInfoWithCallbacks;
    protected processGetFolderInfo(xhr: any): FileInformation | null | null;
    /**
     * Moves a file Or folder
     * @param folderKey Target Folder Key
     * @param existingKey Existing file Or folder key
     */
    moveIntoFolder(folderKey: string, existingKey: string): Promise<FileInformation | null>;
    private moveIntoFolderWithCallbacks;
    private processMoveIntoFolderWithCallbacks;
    protected processMoveIntoFolder(xhr: any): FileInformation | null | null;
    /**
     * Returns URI For appropriate icon
     * @param fileType File type such As PDF, DOCX, etc
     * @param iconSize (optional) 16,20,24,32 etc; small(20); big(32)
     */
    getIconForType(fileType: string | null, iconSize?: string | null | undefined): Promise<any>;
    private getIconForTypeWithCallbacks;
    private processGetIconForTypeWithCallbacks;
    protected processGetIconForType(xhr: any): any | null;
    /**
     * Returns URI For appropriate icon For Each file type
     * @param iconSize (optional) 16,20,24,32 etc; small(20); big(32)
     * @param eTag (optional) Returns Nothing If eTag matches supplied eTag
     */
    getIconListByType(iconSize?: string | null | undefined, eTag?: string | null | undefined): Promise<any>;
    private getIconListByTypeWithCallbacks;
    private processGetIconListByTypeWithCallbacks;
    protected processGetIconListByType(xhr: any): any | null;
    /**
     * Updates the meta properties Of the specified catalog Object, either file Or folder
     * @param newData New Object Meta Data, must include key
     */
    updateObjectMeta(newData: FileInformation): Promise<FileInformation | null>;
    private updateObjectMetaWithCallbacks;
    private processUpdateObjectMetaWithCallbacks;
    protected processUpdateObjectMeta(xhr: any): FileInformation | null | null;
    /**
     * Updates the specified entry on a catalog object
     * @param key File or Folder Key
     * @param fieldName Field Name
     * @param newValue Replacement Value
     */
    patchObjectMeta(key: string, fieldName: string | null, newValue: string): Promise<any>;
    private patchObjectMetaWithCallbacks;
    private processPatchObjectMetaWithCallbacks;
    protected processPatchObjectMeta(xhr: any): any | null;
    /**
     * Gets FileInformation for the specified Object
     * @param objectKey Catalog Object Key (can be a file Or folder key)
     */
    getObjectMeta(objectKey: string): Promise<FileInformation | null>;
    private getObjectMetaWithCallbacks;
    private processGetObjectMetaWithCallbacks;
    protected processGetObjectMeta(xhr: any): FileInformation | null | null;
    /**
     * Deletes the specified Object
     * @param objectKey Catalog Object Key (can be a file Or folder key)
     */
    deleteObject(objectKey: string): Promise<any>;
    private deleteObjectWithCallbacks;
    private processDeleteObjectWithCallbacks;
    protected processDeleteObject(xhr: any): any | null;
    /**
     * Returns settings For a preset search
     * @param setID Set ID
     */
    postPresetSearch(setID: string | null): Promise<CatalogPreset | null>;
    private postPresetSearchWithCallbacks;
    private processPostPresetSearchWithCallbacks;
    protected processPostPresetSearch(xhr: any): CatalogPreset | null | null;
    /**
     * Returns settings For a preset search
     * @param setID Set ID
     */
    getPresetSearch(setID: string | null): Promise<CatalogPreset | null>;
    private getPresetSearchWithCallbacks;
    private processGetPresetSearchWithCallbacks;
    protected processGetPresetSearch(xhr: any): CatalogPreset | null | null;
    /**
     * Returns the name Of the root folder
     */
    getRootFolderName(): Promise<any>;
    private getRootFolderNameWithCallbacks;
    private processGetRootFolderNameWithCallbacks;
    protected processGetRootFolderName(xhr: any): any | null;
    /**
     * Returns changes to the list of files And folders that match the criteria
     * @param folderDesignation Catalog Folder ID (GUID Or ROOT)
     * @param catalogFilters ClientDataSummary (of FileKey And eTags) And Additional Filters, including ProjectLike, TitleLike (filename), ContainsText, HasHash, DocNoLike, ForDocType, PrimaryDateRange, RefDateRange; seldom used UserKey, FileKey, DocMasterKey(attached To), MaxItems, TimeoutFactor
     */
    getChangedSearchContents(folderDesignation: string | null, catalogFilters: QueryFilters): Promise<DataDifferential | null>;
    private getChangedSearchContentsWithCallbacks;
    private processGetChangedSearchContentsWithCallbacks;
    protected processGetChangedSearchContents(xhr: any): DataDifferential | null | null;
    /**
     * Returns a list of files And folders that match the criteria
     * @param folderDesignation Catalog Folder ID (GUID Or ROOT)
     * @param catalogFilters Additional Filters, including ProjectLike, TitleLike (filename), ContainsText, HasHash, DocNoLike, ForDocType, PrimaryDateRange, RefDateRange; seldom used UserKey, FileKey, DocMasterKey(attached To), MaxItems, TimeoutFactor
     */
    searchContents(folderDesignation: string | null, catalogFilters: QueryFilters): Promise<FileInformation[] | null>;
    private searchContentsWithCallbacks;
    private processSearchContentsWithCallbacks;
    protected processSearchContents(xhr: any): FileInformation[] | null | null;
    /**
     * Returns the fake utilization stats
     */
    getStats(): Promise<{
        [key: string]: any;
    } | null>;
    private getStatsWithCallbacks;
    private processGetStatsWithCallbacks;
    protected processGetStats(xhr: any): {
        [key: string]: any;
    } | null | null;
    /**
     * Returns a key for a file upload stream.  You can discard the key.  The meta data is held in the user session based on a hash of the file name
     * @param fileInfo meta data
     */
    beginUpload(fileInfo: FileInformation): Promise<{
        [key: string]: string;
    } | null>;
    private beginUploadWithCallbacks;
    private processBeginUploadWithCallbacks;
    protected processBeginUpload(xhr: any): {
        [key: string]: string;
    } | null | null;
    /**
     * Accepts file upload in chunks.  Compatible with https://github.com/blueimp/jQuery-File-Upload
     */
    uploadChunk(): Promise<XferFilesStatus[] | null>;
    private uploadChunkWithCallbacks;
    private processUploadChunkWithCallbacks;
    protected processUploadChunk(xhr: any): XferFilesStatus[] | null | null;
    /**
     * Returns the tree Of folders
     * @param folderSource Blank or Catalog for standard folders, D3 for Dynamic Document Depth
     */
    getFolderTree(folderSource: string | null): Promise<FileInformation[] | null>;
    private getFolderTreeWithCallbacks;
    private processGetFolderTreeWithCallbacks;
    protected processGetFolderTree(xhr: any): FileInformation[] | null | null;
    /**
     * Accepts meta data and a file upload (up to 300MB) in a single request
     */
    uploadFile(): Promise<XferFilesStatus | null>;
    private uploadFileWithCallbacks;
    private processUploadFileWithCallbacks;
    protected processUploadFile(xhr: any): XferFilesStatus | null | null;
}
export declare class ConfigClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Updates a flex key by name and segment number.  Returns the new definition.
     * @param data Sparse definition of a single Flex Key Name.  Existing segments greater than the last provided segment are removed.
     */
    updateFlexKey(data: FlexMask[]): Promise<FlexMask[] | null>;
    private updateFlexKeyWithCallbacks;
    private processUpdateFlexKeyWithCallbacks;
    protected processUpdateFlexKey(xhr: any): FlexMask[] | null | null;
    /**
     * Returns parts of a flexible key by name
     * @param id Name (Project, Task, etc) or *
     */
    getFlexKeyInfo(id: string | null): Promise<FlexMask[] | null>;
    private getFlexKeyInfoWithCallbacks;
    private processGetFlexKeyInfoWithCallbacks;
    protected processGetFlexKeyInfo(xhr: any): FlexMask[] | null | null;
    /**
     * Returns the mask for a flex key by name.  EG xx-xxx
     * @param id Name (Project, Task, etc)
     */
    getFlexKeyMask(id: string | null): Promise<string | null>;
    private getFlexKeyMaskWithCallbacks;
    private processGetFlexKeyMaskWithCallbacks;
    protected processGetFlexKeyMask(xhr: any): string | null | null;
    /**
     * Deletes a predefined route by key our by name
     * @param sourceRoute Key or Name
     */
    deleteRoute(sourceRoute: string | null): Promise<boolean>;
    private deleteRouteWithCallbacks;
    private processDeleteRouteWithCallbacks;
    protected processDeleteRoute(xhr: any): boolean | null;
    /**
     * Copies a predefined route by key our by name
     * @param sourceRoute Key or Name
     * @param newName Key or Name
     */
    copyRoute(sourceRoute: string | null, newName: string | null): Promise<string>;
    private copyRouteWithCallbacks;
    private processCopyRouteWithCallbacks;
    protected processCopyRoute(xhr: any): string | null;
}
export declare class ContactClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Adds the contact
     * @param newData Contact Data
     * @param project (optional) Optional Project Contact
     * @param isCompany (optional) Optional is Primary Company Contact
     */
    addContact(newData: Contact, project?: string | null | undefined, isCompany?: boolean | undefined): Promise<Contact | null>;
    private addContactWithCallbacks;
    private processAddContactWithCallbacks;
    protected processAddContact(xhr: any): Contact | null | null;
    /**
     * Returns the contact
     * @param id Contact Key
     */
    getContact(id: string): Promise<Contact | null>;
    private getContactWithCallbacks;
    private processGetContactWithCallbacks;
    protected processGetContact(xhr: any): Contact | null | null;
    /**
     * Updates the contact
     * @param id Contact Key
     * @param newData Replacement Data
     * @param project (optional) Optional Project Context
     */
    updateContact(id: string, newData: Contact, project?: string | null | undefined): Promise<any>;
    private updateContactWithCallbacks;
    private processUpdateContactWithCallbacks;
    protected processUpdateContact(xhr: any): any | null;
    /**
     * Returns contacts that match filters
     * @param usingFilters Search Criteria
     */
    matchingContactList(usingFilters: ContactFilters): Promise<ContactSummary[] | null>;
    private matchingContactListWithCallbacks;
    private processMatchingContactListWithCallbacks;
    protected processMatchingContactList(xhr: any): ContactSummary[] | null | null;
}
export declare class DocumentToolsClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Returns the header Of the specified document, including a Document Session Key
     * @param id Document Key
     */
    getDocHeader(id: string): Promise<DocMasterDetail | null>;
    private getDocHeaderWithCallbacks;
    private processGetDocHeaderWithCallbacks;
    protected processGetDocHeader(xhr: any): DocMasterDetail | null | null;
    /**
     * Deletes the specified document
     * @param id Document Key
     */
    deleteDocHeader(id: string): Promise<any>;
    private deleteDocHeaderWithCallbacks;
    private processDeleteDocHeaderWithCallbacks;
    protected processDeleteDocHeader(xhr: any): any | null;
    /**
     * Updates the header On the specified document
     * @param id Document Key
     * @param updatedData Replacement data
     */
    updateDocHeader(id: string, updatedData: DocMasterDetail): Promise<any>;
    private updateDocHeaderWithCallbacks;
    private processUpdateDocHeaderWithCallbacks;
    protected processUpdateDocHeader(xhr: any): any | null;
    /**
     * Updates a Single field On the header Of the specified document
     * @param id Document Key
     * @param fieldName Field Name
     * @param newValue Replacement data
     */
    patchDocHeader(id: string, fieldName: string | null, newValue: string): Promise<{
        [key: string]: number;
    } | null>;
    private patchDocHeaderWithCallbacks;
    private processPatchDocHeaderWithCallbacks;
    protected processPatchDocHeader(xhr: any): {
        [key: string]: number;
    } | null | null;
    /**
     * Returns the header Of the specified document revision, including a Document Session Key
     * @param id Document Key
     * @param revKey Revision Key
     */
    getDocHeaderRevision(id: string, revKey: string): Promise<DocMasterDetail | null>;
    private getDocHeaderRevisionWithCallbacks;
    private processGetDocHeaderRevisionWithCallbacks;
    protected processGetDocHeaderRevision(xhr: any): DocMasterDetail | null | null;
    /**
     * Creates a New document
     * @param id Document Key (use empty for auto assign)
     * @param typeKey Type
     * @param forProject (optional) Project
     * @param forParent (optional) Parent Doc Key
     * @param forBatch (optional) Batch/Subcontract
     * @param forSourceContact (optional) Source Contact
     */
    createDocument(id: string, typeKey: string, forProject?: string | null | undefined, forParent?: string | null | undefined, forBatch?: string | null | undefined, forSourceContact?: string | null | undefined): Promise<string>;
    private createDocumentWithCallbacks;
    private processCreateDocumentWithCallbacks;
    protected processCreateDocument(xhr: any): string | null;
    /**
     * Returns one or all Access Control entries for the current document session
     * @param id Document Key
     * @param type (optional) Access Type (eg DocOwner)
     */
    getDocAccessControl(id: string, type?: string | null | undefined): Promise<DocAccessControl[] | null>;
    private getDocAccessControlWithCallbacks;
    private processGetDocAccessControlWithCallbacks;
    protected processGetDocAccessControl(xhr: any): DocAccessControl[] | null | null;
    /**
     * Inserts addresses on the specified document
     * @param id Document Key
     * @param newData New address data
     */
    addDocAddress(id: string, newData: DocAddress): Promise<DocAddress | null>;
    private addDocAddressWithCallbacks;
    private processAddDocAddressWithCallbacks;
    protected processAddDocAddress(xhr: any): DocAddress | null | null;
    /**
     * Returns the addresses for the specified document
     * @param id Document Key
     */
    getDocAddresses(id: string): Promise<DocAddress[] | null>;
    private getDocAddressesWithCallbacks;
    private processGetDocAddressesWithCallbacks;
    protected processGetDocAddresses(xhr: any): DocAddress[] | null | null;
    /**
     * Deletes the addresses on the specified document
     * @param id Document Key
     * @param addressKeys Address Keys
     * @return Specified addresses not found
     */
    deleteDocAddress(id: string, addressKeys: string[]): Promise<string>;
    private deleteDocAddressWithCallbacks;
    private processDeleteDocAddressWithCallbacks;
    protected processDeleteDocAddress(xhr: any): string | null;
    /**
     * Updates the addresses on the specified document
     * @param id Document Key
     * @param updatedData Replacement address data
     * @return Specified addresses not found
     */
    updateDocAddress(id: string, updatedData: DocAddress): Promise<string>;
    private updateDocAddressWithCallbacks;
    private processUpdateDocAddressWithCallbacks;
    protected processUpdateDocAddress(xhr: any): string | null;
    /**
     * Updates the route on the specified document
     * @param id Document Key
     * @param key Address Key
     * @param fieldName Field Name
     * @param newValue Replacement Value
     * @return Specified route not found
     */
    patchDocAddress(id: string, key: string, fieldName: string | null, newValue: string | null): Promise<string>;
    private patchDocAddressWithCallbacks;
    private processPatchDocAddressWithCallbacks;
    protected processPatchDocAddress(xhr: any): string | null;
    /**
     * Returns the attachments for the specified document
     * @param id Document Key
     * @return No changes
     */
    getDocAttachments(id: string): Promise<string>;
    private getDocAttachmentsWithCallbacks;
    private processGetDocAttachmentsWithCallbacks;
    protected processGetDocAttachments(xhr: any): string | null;
    /**
     * Removes the specified attachment from the specified document
     * @param id Document Key
     * @param attachKeys Doc Attachment Keys
     * @return Specified addresses not found
     */
    deleteDocAttachments(id: string, attachKeys: string[]): Promise<string>;
    private deleteDocAttachmentsWithCallbacks;
    private processDeleteDocAttachmentsWithCallbacks;
    protected processDeleteDocAttachments(xhr: any): string | null;
    /**
     * Updates an attachment on the specified document
     * @param id Document Key
     * @param updatedData Replacement attachment data
     * @return Specified attachment not found
     */
    updateDocAttachments(id: string, updatedData: DocAttachment): Promise<string>;
    private updateDocAttachmentsWithCallbacks;
    private processUpdateDocAttachmentsWithCallbacks;
    protected processUpdateDocAttachments(xhr: any): string | null;
    /**
     * Inserts an attachment on the specified document, optionally from a template
     * @param id Document Key
     * @param newData New attachment data. To copy a template use DocKey:TemplateKey
     */
    addDocAttachments(id: string, newData: DocAttachment[]): Promise<DocAttachment | null>;
    private addDocAttachmentsWithCallbacks;
    private processAddDocAttachmentsWithCallbacks;
    protected processAddDocAttachments(xhr: any): DocAttachment | null | null;
    /**
     * Creates a PDF from the Assembled Attachments specified on this document; returns a task key
     * @param id Document Key
     * @param disposition Disposition (PDF)
     * @return OK
     */
    postAssembledContent(id: string, disposition: string | null): Promise<string>;
    private postAssembledContentWithCallbacks;
    private processPostAssembledContentWithCallbacks;
    protected processPostAssembledContent(xhr: any): string | null;
    /**
     * Copies an attachment on the specified document
     * @param id Document Key
     * @param fileKey file Key
     * @param newName New attachment data
     */
    branchFile(id: string, fileKey: string, newName: string | null): Promise<DocAttachment | null>;
    private branchFileWithCallbacks;
    private processBranchFileWithCallbacks;
    protected processBranchFile(xhr: any): DocAttachment | null | null;
    /**
     * Updates the specified document from data in the specified attachment using the VXL engine; returns a task key
     * @param id Document Key
     * @param fileKey File Key (must be an Excel file)
     * @return OK
     */
    postVXLContent(id: string, fileKey: string): Promise<string>;
    private postVXLContentWithCallbacks;
    private processPostVXLContentWithCallbacks;
    protected processPostVXLContent(xhr: any): string | null;
    /**
     * Joins (histories) of two attachments into a single combined target on the specified document
     * @param id Document Key
     * @param fileKey source file Key, dissolved
     * @param targetKey target file Key, absorbs source file
     */
    joinFiles(id: string, fileKey: string, targetKey: string): Promise<DocAttachment | null>;
    private joinFilesWithCallbacks;
    private processJoinFilesWithCallbacks;
    protected processJoinFiles(xhr: any): DocAttachment | null | null;
    /**
     * Links an attachment on the specified document to another document
     * @param id Document Key
     * @param attachmentKey source file Key
     * @param targetKey target document Key
     * @param move (optional) move
     */
    moveAttachment(id: string, attachmentKey: string, targetKey: string, move?: boolean | undefined): Promise<boolean>;
    private moveAttachmentWithCallbacks;
    private processMoveAttachmentWithCallbacks;
    protected processMoveAttachment(xhr: any): boolean | null;
    /**
     * Inserts attendees on the specified document
     * @param id Document Key
     * @param newData New attendee data
     */
    addDocAttendee(id: string, newData: DocMeetingAttendee): Promise<DocMeetingAttendee | null>;
    private addDocAttendeeWithCallbacks;
    private processAddDocAttendeeWithCallbacks;
    protected processAddDocAttendee(xhr: any): DocMeetingAttendee | null | null;
    /**
     * Returns the meeting attendees for the specified document
     * @param id Document Key
     */
    getDocAttendees(id: string): Promise<DocMeetingAttendee[] | null>;
    private getDocAttendeesWithCallbacks;
    private processGetDocAttendeesWithCallbacks;
    protected processGetDocAttendees(xhr: any): DocMeetingAttendee[] | null | null;
    /**
     * Deletes the attendee(s) on the specified document
     * @param id Document Key
     * @param attendeeKeys Attendee Keys (not user key)
     * @return Specified addresses not found
     */
    deleteDocAttendee(id: string, attendeeKeys: string[]): Promise<string>;
    private deleteDocAttendeeWithCallbacks;
    private processDeleteDocAttendeeWithCallbacks;
    protected processDeleteDocAttendee(xhr: any): string | null;
    /**
     * Updates the attendees on the specified document
     * @param id Document Key
     * @param updatedData Replacement attendee data
     * @return Specified attendee not found
     */
    updateDocAttendee(id: string, updatedData: DocMeetingAttendee): Promise<string>;
    private updateDocAttendeeWithCallbacks;
    private processUpdateDocAttendeeWithCallbacks;
    protected processUpdateDocAttendee(xhr: any): string | null;
    /**
     * Inserts attendee(s) on the specified document
     * @param id Document Key
     * @param newData New attendee data
     */
    addDocAttendees(id: string, newData: DocMeetingAttendee[]): Promise<DocMeetingAttendee | null>;
    private addDocAttendeesWithCallbacks;
    private processAddDocAttendeesWithCallbacks;
    protected processAddDocAttendees(xhr: any): DocMeetingAttendee | null | null;
    /**
     * Returns the attributes for the specified document
     * @param id Document Key
     */
    getDocAttributes(id: string): Promise<DocAttribute[] | null>;
    private getDocAttributesWithCallbacks;
    private processGetDocAttributesWithCallbacks;
    protected processGetDocAttributes(xhr: any): DocAttribute[] | null | null;
    /**
     * Deletes the attributes on the specified document
     * @param id Document Key
     * @param attributeKeys Attribute Keys
     * @return Specified addresses not found
     */
    deleteDocAttributes(id: string, attributeKeys: string[]): Promise<string>;
    private deleteDocAttributesWithCallbacks;
    private processDeleteDocAttributesWithCallbacks;
    protected processDeleteDocAttributes(xhr: any): string | null;
    /**
     * Updates the attributes on the specified document
     * @param id Document Key
     * @param updatedData Replacement attribute data
     * @return Specified attribute not found
     */
    updateDocAttributes(id: string, updatedData: DocAttribute): Promise<string>;
    private updateDocAttributesWithCallbacks;
    private processUpdateDocAttributesWithCallbacks;
    protected processUpdateDocAttributes(xhr: any): string | null;
    /**
     * Inserts attributes on the specified document
     * @param id Document Key
     * @param newData New attribute data
     */
    addDocAttributes(id: string, newData: DocAttribute[]): Promise<DocAttribute | null>;
    private addDocAttributesWithCallbacks;
    private processAddDocAttributesWithCallbacks;
    protected processAddDocAttributes(xhr: any): DocAttribute | null | null;
    /**
     * Returns the attachments for the specified document that have changed
     * @param id Document Key
     * @param lastStamp If the server data matches this number the data has not changed, pass 0 for always get, 1 for always (with optional refresh)
     * @param reloadOnMatch When TRUE and the stamp matches, then refresh from SQL
     * @param dataSummary KVP of current row keys and eTags
     * @return OK
     */
    getChangedAttachments(id: string, lastStamp: number, reloadOnMatch: boolean, dataSummary: CurrentDataSummary[]): Promise<DataDifferential>;
    private getChangedAttachmentsWithCallbacks;
    private processGetChangedAttachmentsWithCallbacks;
    protected processGetChangedAttachments(xhr: any): DataDifferential | null;
    /**
     * Returns the items for the specified document that have changed
     * @param id Document Key
     * @param lastStamp If the server data matches this number, then the data has not changed, pass 0 for always get, 1 for always (with optional refresh)
     * @param reloadOnMatch When TRUE and the stamp matches, then refresh from SQL
     * @param dataSummary KVP of current row keys and eTags
     * @return OK
     */
    getChangedItems(id: string, lastStamp: number, reloadOnMatch: boolean, dataSummary: CurrentDataSummary[]): Promise<DataDifferential>;
    private getChangedItemsWithCallbacks;
    private processGetChangedItemsWithCallbacks;
    protected processGetChangedItems(xhr: any): DataDifferential | null;
    /**
     * Returns the comments for the specified document
     * @param id Document Key
     */
    getDocComments(id: string): Promise<Comment[] | null>;
    private getDocCommentsWithCallbacks;
    private processGetDocCommentsWithCallbacks;
    protected processGetDocComments(xhr: any): Comment[] | null | null;
    /**
     * Deletes the comments on the specified document
     * @param id Document Key
     * @param commentKeys Comment Keys
     * @return Specified addresses not found
     */
    deleteDocComments(id: string, commentKeys: string[]): Promise<string>;
    private deleteDocCommentsWithCallbacks;
    private processDeleteDocCommentsWithCallbacks;
    protected processDeleteDocComments(xhr: any): string | null;
    /**
     * Updates the comments on the specified document
     * @param id Document Key
     * @param updatedData Replacement comment data
     * @return Specified comments not found
     */
    updateDocComments(id: string, updatedData: Comment): Promise<string>;
    private updateDocCommentsWithCallbacks;
    private processUpdateDocCommentsWithCallbacks;
    protected processUpdateDocComments(xhr: any): string | null;
    /**
     * Inserts Comments on the specified document
     * @param id Document Key
     * @param newData New comment data
     */
    addDocComments(id: string, newData: Comment[]): Promise<Comment | null>;
    private addDocCommentsWithCallbacks;
    private processAddDocCommentsWithCallbacks;
    protected processAddDocComments(xhr: any): Comment | null | null;
    /**
     * Returns the compliance for the specified document
     * @param id Document Key
     */
    getDocCompliance(id: string): Promise<DocCompliance[] | null>;
    private getDocComplianceWithCallbacks;
    private processGetDocComplianceWithCallbacks;
    protected processGetDocCompliance(xhr: any): DocCompliance[] | null | null;
    /**
     * Deletes the compliance on the specified document
     * @param id Document Key
     * @param complianceKeys Compliance Item Keys
     * @return Specified addresses not found
     */
    deleteDocCompliance(id: string, complianceKeys: string[]): Promise<string>;
    private deleteDocComplianceWithCallbacks;
    private processDeleteDocComplianceWithCallbacks;
    protected processDeleteDocCompliance(xhr: any): string | null;
    /**
     * Updates the compliance on the specified document
     * @param id Document Key
     * @param updatedData Replacement compliance data
     * @return Specified compliance not found
     */
    updateDocCompliance(id: string, updatedData: DocCompliance): Promise<string>;
    private updateDocComplianceWithCallbacks;
    private processUpdateDocComplianceWithCallbacks;
    protected processUpdateDocCompliance(xhr: any): string | null;
    /**
     * Inserts compliance on the specified document
     * @param id Document Key
     * @param newData New compliance data
     */
    addDocCompliance(id: string, newData: DocCompliance): Promise<DocCompliance | null>;
    private addDocComplianceWithCallbacks;
    private processAddDocComplianceWithCallbacks;
    protected processAddDocCompliance(xhr: any): DocCompliance | null | null;
    /**
     * Returns the Project Details based on the specified document.  Update using PatchDocData
     * @param id Document Key
     */
    getDocProjectSetup(id: string): Promise<ProjectAbstract | null>;
    private getDocProjectSetupWithCallbacks;
    private processGetDocProjectSetupWithCallbacks;
    protected processGetDocProjectSetup(xhr: any): ProjectAbstract | null | null;
    /**
     * Inserts dates on the specified document
     * @param id Document Key
     * @param newData New date data
     */
    addDocDate(id: string, newData: DocDate): Promise<DocDate | null>;
    private addDocDateWithCallbacks;
    private processAddDocDateWithCallbacks;
    protected processAddDocDate(xhr: any): DocDate | null | null;
    /**
     * Returns the dates for the specified document
     * @param id Document Key
     */
    getDocDates(id: string): Promise<DocDate[] | null>;
    private getDocDatesWithCallbacks;
    private processGetDocDatesWithCallbacks;
    protected processGetDocDates(xhr: any): DocDate[] | null | null;
    /**
     * Deletes a specific date from the specified document
     * @param id Document Key
     * @param dateRowKeys Doc Dates Row Keys
     * @return Specified addresses not found
     */
    deleteDocDates(id: string, dateRowKeys: string[]): Promise<string>;
    private deleteDocDatesWithCallbacks;
    private processDeleteDocDatesWithCallbacks;
    protected processDeleteDocDates(xhr: any): string | null;
    /**
     * Updates the dates on the specified document
     * @param id Document Key
     * @param updatedData Replacement date data
     * @return Specified dates not found
     */
    updateDocDates(id: string, updatedData: DocDate): Promise<string>;
    private updateDocDatesWithCallbacks;
    private processUpdateDocDatesWithCallbacks;
    protected processUpdateDocDates(xhr: any): string | null;
    /**
     * Information about actions for the specified document
     * @param id Document Key
     * @param action (optional) (Optional) Action [all]
     */
    getDialogAbstract(id: string, action?: string | null | undefined): Promise<MenuAction[] | null>;
    private getDialogAbstractWithCallbacks;
    private processGetDialogAbstractWithCallbacks;
    protected processGetDialogAbstract(xhr: any): MenuAction[] | null | null;
    /**
     * Information about address types for the specified document
     * @param id Document Key
     */
    getDialogAddresses(id: string): Promise<MenuAction | null>;
    private getDialogAddressesWithCallbacks;
    private processGetDialogAddressesWithCallbacks;
    protected processGetDialogAddresses(xhr: any): MenuAction | null | null;
    /**
     * Information about attach actions for the specified document
     * @param id Document Key
     */
    getDialogAttachables(id: string): Promise<MenuAction[] | null>;
    private getDialogAttachablesWithCallbacks;
    private processGetDialogAttachablesWithCallbacks;
    protected processGetDialogAttachables(xhr: any): MenuAction[] | null | null;
    /**
     * Information about attribute types for the specified document
     * @param id Document Key
     */
    getDialogAttributeTypes(id: string): Promise<MenuAction | null>;
    private getDialogAttributeTypesWithCallbacks;
    private processGetDialogAttributeTypesWithCallbacks;
    protected processGetDialogAttributeTypes(xhr: any): MenuAction | null | null;
    /**
     * Information about compliance types for the specified document
     * @param id Document Key
     */
    getDialogComplianceTypes(id: string): Promise<MenuAction | null>;
    private getDialogComplianceTypesWithCallbacks;
    private processGetDialogComplianceTypesWithCallbacks;
    protected processGetDialogComplianceTypes(xhr: any): MenuAction | null | null;
    /**
     * Information about copyability of the specified document
     * @param id Document Key
     */
    getDialogPreCopyThisDoc(id: string): Promise<MenuAction | null>;
    private getDialogPreCopyThisDocWithCallbacks;
    private processGetDialogPreCopyThisDocWithCallbacks;
    protected processGetDialogPreCopyThisDoc(xhr: any): MenuAction | null | null;
    /**
     * Information about date types for the specified document
     * @param id Document Key
     */
    getDialogDates(id: string): Promise<MenuAction | null>;
    private getDialogDatesWithCallbacks;
    private processGetDialogDatesWithCallbacks;
    protected processGetDialogDates(xhr: any): MenuAction | null | null;
    /**
     * Information about exclusivity actions for the specified document
     * @param id Document Key
     * @param action (optional) (Optional) Action [HoldAuto,Hold24,Hold,HoldManual,HoldNone,HoldRoute,HoldInfo]
     */
    getDialogExclusivity(id: string, action?: string | null | undefined): Promise<MenuAction[] | null>;
    private getDialogExclusivityWithCallbacks;
    private processGetDialogExclusivityWithCallbacks;
    protected processGetDialogExclusivity(xhr: any): MenuAction[] | null | null;
    /**
     * Information about inclusion types for the specified document
     * @param id Document Key
     */
    getDialogInclusionTypes(id: string): Promise<MenuAction | null>;
    private getDialogInclusionTypesWithCallbacks;
    private processGetDialogInclusionTypesWithCallbacks;
    protected processGetDialogInclusionTypes(xhr: any): MenuAction | null | null;
    /**
     * Information about item actions for the specified document
     * @param id Document Key
     * @param action (optional) (Optional) Action [renumber|deleteAll|all]
     */
    getDialogItemActions(id: string, action?: string | null | undefined): Promise<MenuAction[] | null>;
    private getDialogItemActionsWithCallbacks;
    private processGetDialogItemActionsWithCallbacks;
    protected processGetDialogItemActions(xhr: any): MenuAction[] | null | null;
    /**
     * Information about item actions for the specified document
     * @param id Document Key
     * @param action (optional) (Optional) Action [renumber|deleteAll|all]
     */
    getDialogLinkActions(id: string, action?: string | null | undefined): Promise<MenuAction[] | null>;
    private getDialogLinkActionsWithCallbacks;
    private processGetDialogLinkActionsWithCallbacks;
    protected processGetDialogLinkActions(xhr: any): MenuAction[] | null | null;
    /**
     * Information about route actions for the specified document
     * @param id Document Key
     * @param action (optional) (Optional) Action [build|apply|quickadd|all]
     */
    getDialogRoutables(id: string, action?: string | null | undefined): Promise<MenuAction[] | null>;
    private getDialogRoutablesWithCallbacks;
    private processGetDialogRoutablesWithCallbacks;
    protected processGetDialogRoutables(xhr: any): MenuAction[] | null | null;
    /**
     * Information about templates for the specified document
     * @param id Document Key
     */
    getDialogTemplates(id: string): Promise<MenuAction | null>;
    private getDialogTemplatesWithCallbacks;
    private processGetDialogTemplatesWithCallbacks;
    protected processGetDialogTemplates(xhr: any): MenuAction | null | null;
    /**
     * Given the document Is in an appropriate state, change the document number
     * @param id Document Key
     * @param newNumber New Document Number
     */
    patchDocNumber(id: string, newNumber: string | null): Promise<HttpStatusCode>;
    private patchDocNumberWithCallbacks;
    private processPatchDocNumberWithCallbacks;
    protected processPatchDocNumber(xhr: any): HttpStatusCode | null;
    /**
     * Export document
     * @param id Document Key
     * @param flavor Export mode
     */
    getDocExport(id: string, flavor: string | null): Promise<string[] | null>;
    private getDocExportWithCallbacks;
    private processGetDocExportWithCallbacks;
    protected processGetDocExport(xhr: any): string[] | null | null;
    /**
     * Returns the inclusions for the specified document
     * @param id Document Key
     */
    getDocInclusions(id: string): Promise<DocInclusion[] | null>;
    private getDocInclusionsWithCallbacks;
    private processGetDocInclusionsWithCallbacks;
    protected processGetDocInclusions(xhr: any): DocInclusion[] | null | null;
    /**
     * Deletes the inclusions on the specified document
     * @param id Document Key
     * @param inclusionKeys Inclusion Keys
     * @return Specified inclusion not found
     */
    deleteDocInclusions(id: string, inclusionKeys: string[]): Promise<string>;
    private deleteDocInclusionsWithCallbacks;
    private processDeleteDocInclusionsWithCallbacks;
    protected processDeleteDocInclusions(xhr: any): string | null;
    /**
     * Updates the inclusions on the specified document
     * @param id Document Key
     * @param updatedData Replacement inclusion(exclusion) data
     * @return Specified inclusion not found
     */
    updateDocInclusions(id: string, updatedData: DocInclusion): Promise<string>;
    private updateDocInclusionsWithCallbacks;
    private processUpdateDocInclusionsWithCallbacks;
    protected processUpdateDocInclusions(xhr: any): string | null;
    /**
     * Inserts an inclusions on the specified document
     * @param id Document Key
     * @param newData New inclusion(exclusion) data
     */
    addDocInclusions(id: string, newData: DocInclusion[]): Promise<DocInclusion | null>;
    private addDocInclusionsWithCallbacks;
    private processAddDocInclusionsWithCallbacks;
    protected processAddDocInclusions(xhr: any): DocInclusion | null | null;
    /**
     * Inserts item on the specified document
     * @param id Document Key
     * @param newData New item data
     * @param sourceId (optional) Optional Like Source Item
     */
    addSingleDocItem(id: string, newData: DocItem, sourceId?: string | null | undefined): Promise<DocItem | null>;
    private addSingleDocItemWithCallbacks;
    private processAddSingleDocItemWithCallbacks;
    protected processAddSingleDocItem(xhr: any): DocItem | null | null;
    /**
     * Returns the item comments for the specified document
     * @param id Document Key
     * @param itemId Item Key
     */
    getDocItemComments(id: string, itemId: string): Promise<DocItemComment[] | null>;
    private getDocItemCommentsWithCallbacks;
    private processGetDocItemCommentsWithCallbacks;
    protected processGetDocItemComments(xhr: any): DocItemComment[] | null | null;
    /**
     * Inserts a special purpose item on the specified document
     * @param id Document Key
     * @param itemType Item Type (TAX or FREIGHT
     */
    addSpecialItem(id: string, itemType: string | null): Promise<DocItem | null>;
    private addSpecialItemWithCallbacks;
    private processAddSpecialItemWithCallbacks;
    protected processAddSpecialItem(xhr: any): DocItem | null | null;
    /**
     * Returns the items of the specified document (current revision)
     * @param id Document Key
     */
    getDocItems(id: string): Promise<DocItem[] | null>;
    private getDocItemsWithCallbacks;
    private processGetDocItemsWithCallbacks;
    protected processGetDocItems(xhr: any): DocItem[] | null | null;
    /**
     * Deletes item(s) on the specified document that match the specified item key(s).
     * @param id Document Key
     * @param itemKeys Doc Item Key(s)
     * @return Specified addresses not found
     */
    deleteDocItems(id: string, itemKeys: string[]): Promise<string>;
    private deleteDocItemsWithCallbacks;
    private processDeleteDocItemsWithCallbacks;
    protected processDeleteDocItems(xhr: any): string | null;
    /**
     * Updates the item on the specified document
     * @param id Document Key
     * @param updatedData Replacement item data
     * @return Specified item not found
     */
    updateDocItems(id: string, updatedData: DocItem): Promise<string>;
    private updateDocItemsWithCallbacks;
    private processUpdateDocItemsWithCallbacks;
    protected processUpdateDocItems(xhr: any): string | null;
    /**
     * Inserts items on the specified document, returns the final
     * @param id Document Key
     * @param newData New item data
     * @param sourceId (optional) Optional Like Source Item
     */
    addDocItems(id: string, newData: DocItem[], sourceId?: string | null | undefined): Promise<DocItem | null>;
    private addDocItemsWithCallbacks;
    private processAddDocItemsWithCallbacks;
    protected processAddDocItems(xhr: any): DocItem | null | null;
    /**
     * Deletes all items on the specified document
     * @param id Document Key
     * @return Specified addresses not found
     */
    deleteAllDocItems(id: string): Promise<string>;
    private deleteAllDocItemsWithCallbacks;
    private processDeleteAllDocItemsWithCallbacks;
    protected processDeleteAllDocItems(xhr: any): string | null;
    /**
     * Inserts items on the specified document, optionally all copied from the same source
     * @param id Document Key
     * @param newItems How Many
     * @param sourceId (optional) Optional Like Source Item
     */
    addManyItems(id: string, newItems: number, sourceId?: string | null | undefined): Promise<string[] | null>;
    private addManyItemsWithCallbacks;
    private processAddManyItemsWithCallbacks;
    protected processAddManyItems(xhr: any): string[] | null | null;
    /**
     * Updates the item numbers on the specified document
     * @param id Document Key
     * @param dataSummary KVP of current row keys and eTags
     * @return Specified route not found
     */
    renumberItems(id: string, dataSummary: CurrentDataSummary[]): Promise<string>;
    private renumberItemsWithCallbacks;
    private processRenumberItemsWithCallbacks;
    protected processRenumberItems(xhr: any): string | null;
    /**
     * Creates and links child doc(s)
     * @param id Document Key
     * @param contactList List of contacts.  If empty, creates a single document without a contact
     */
    addDocLinks(id: string, contactList: string[]): Promise<DocAttachment[] | null>;
    private addDocLinksWithCallbacks;
    private processAddDocLinksWithCallbacks;
    protected processAddDocLinks(xhr: any): DocAttachment[] | null | null;
    /**
     * Returns the links for the specified document
     * @param id Document Key
     */
    getDocLinks(id: string): Promise<DocAttachment[] | null>;
    private getDocLinksWithCallbacks;
    private processGetDocLinksWithCallbacks;
    protected processGetDocLinks(xhr: any): DocAttachment[] | null | null;
    /**
     * Deletes the attachment on the specified document
     * @param id Document Key
     * @param linkKeys Doc Link Key(s)
     * @return Specified addresses not found
     */
    deleteDocLinks(id: string, linkKeys: string[]): Promise<string>;
    private deleteDocLinksWithCallbacks;
    private processDeleteDocLinksWithCallbacks;
    protected processDeleteDocLinks(xhr: any): string | null;
    /**
     * Creates a New document using the Create Next rules
     * @param id Source Document Key
     */
    createNextDocument(id: string): Promise<string>;
    private createNextDocumentWithCallbacks;
    private processCreateNextDocumentWithCallbacks;
    protected processCreateNextDocument(xhr: any): string | null;
    /**
     * Reverses posting of the specified document
     * @param id Source Document Key
     */
    reversePosting(id: string): Promise<string | null>;
    private reversePostingWithCallbacks;
    private processReversePostingWithCallbacks;
    protected processReversePosting(xhr: any): string | null | null;
    /**
     * Creates a New revision of the specified document
     * @param id Source Document Key
     */
    createNextRevision(id: string): Promise<boolean>;
    private createNextRevisionWithCallbacks;
    private processCreateNextRevisionWithCallbacks;
    protected processCreateNextRevision(xhr: any): boolean | null;
    /**
     * Returns the route on the specified document
     * @param id Document Key
     */
    getDocRoute(id: string): Promise<DocRoute[] | null>;
    private getDocRouteWithCallbacks;
    private processGetDocRouteWithCallbacks;
    protected processGetDocRoute(xhr: any): DocRoute[] | null | null;
    /**
     * Deletes the route on the specified document
     * @param id Document Key
     * @param routeKeys Route Key(s)
     * @return Specified route not found
     */
    deleteDocRoute(id: string, routeKeys: string[]): Promise<string>;
    private deleteDocRouteWithCallbacks;
    private processDeleteDocRouteWithCallbacks;
    protected processDeleteDocRoute(xhr: any): string | null;
    /**
     * Updates a route entry on the specified document
     * @param id Document Key
     * @param updatedRoute Replacement Route
     * @return Specified route not found
     */
    updateDocRoute(id: string, updatedRoute: DocRoute): Promise<string>;
    private updateDocRouteWithCallbacks;
    private processUpdateDocRouteWithCallbacks;
    protected processUpdateDocRoute(xhr: any): string | null;
    /**
     * Inserts a single route on the specified document
     * @param id Document Key
     * @param newRoute Route (DocRoute object)
     */
    addDocRoute(id: string, newRoute: DocRoute): Promise<DocRoute | null>;
    private addDocRouteWithCallbacks;
    private processAddDocRouteWithCallbacks;
    protected processAddDocRoute(xhr: any): DocRoute | null | null;
    /**
     * Updates the specified field on the specified route on the specified document.  See also PatchDoc
     * @param id Document Key
     * @param routeKey Route Key
     * @param fieldName Field Name
     * @param newValue Replacement Value
     * @return Specified route not found
     */
    patchDocRoute(id: string, routeKey: string, fieldName: string | null, newValue: string | null): Promise<string>;
    private patchDocRouteWithCallbacks;
    private processPatchDocRouteWithCallbacks;
    protected processPatchDocRoute(xhr: any): string | null;
    /**
     * Updates the route on the specified document by applying actions such as EndRoute, or APPEND or RESET.  Multiple actions can be separated by semicolons.  Append and RESET can be followed by a route name or AUTO.
     * @param id Document Key
     * @param effectList Route Effects: EndRoute;(APPEND | RESET) auto or key or name;CCToLast;NoChange
     * @return Specified route not found
     */
    applyDocRoute(id: string, effectList: string | null): Promise<string>;
    private applyDocRouteWithCallbacks;
    private processApplyDocRouteWithCallbacks;
    protected processApplyDocRoute(xhr: any): string | null;
    /**
     * Recalculates the content included for the specific route on the specified document
     * @param id Document Key
     * @param routeId Replacement Route
     * @return Specified route not found
     */
    docRouteResetContent(id: string, routeId: string): Promise<string>;
    private docRouteResetContentWithCallbacks;
    private processDocRouteResetContentWithCallbacks;
    protected processDocRouteResetContent(xhr: any): string | null;
    /**
     * Returns actual or previewed content routed to a specific part; returns a task key
     * @param id Document Key
     * @param routeId Specific Route Key
     * @param disposition Disposition (DownloadContent | DownloadPreview | ViewRouteEML | DocSummaryPDF )
     * @return OK
     */
    postRouteContent(id: string, routeId: string, disposition: string | null): Promise<string>;
    private postRouteContentWithCallbacks;
    private processPostRouteContentWithCallbacks;
    protected processPostRouteContent(xhr: any): string | null;
    /**
     * Asks ATC service to performs any route actions (emails or workflows etc) for the current document route
     * @param id Document Key
     * @return Specified route not found
     */
    docRoutePerformActions(id: string): Promise<string>;
    private docRoutePerformActionsWithCallbacks;
    private processDocRoutePerformActionsWithCallbacks;
    protected processDocRoutePerformActions(xhr: any): string | null;
    /**
     * Sets a specific route on the specified document to 'no action'
     * @param id Document Key
     * @param routeId Replacement Route
     * @return Specified route not found
     */
    docRouteScrap(id: string, routeId: string): Promise<string>;
    private docRouteScrapWithCallbacks;
    private processDocRouteScrapWithCallbacks;
    protected processDocRouteScrap(xhr: any): string | null;
    /**
     * Returns the Document Session Key
     * @param id Document Key
     * @param freshenData (optional) Reloads document when true
     */
    getDocSession(id: string, freshenData?: boolean | undefined): Promise<string | null>;
    private getDocSessionWithCallbacks;
    private processGetDocSessionWithCallbacks;
    protected processGetDocSession(xhr: any): string | null | null;
    /**
     * Ends the Document Session
     * @param id Document Key
     * @param sessionID cache key or session
     */
    endDocSession(id: string, sessionID: string | null): Promise<HttpStatusCode>;
    private endDocSessionWithCallbacks;
    private processEndDocSessionWithCallbacks;
    protected processEndDocSession(xhr: any): HttpStatusCode | null;
    /**
     * Given the specified session exists for the current user, associates the Document and Session Key
     * @param id Document Key
     * @param sessionID session id
     */
    patchDocSession(id: string, sessionID: string | null): Promise<HttpStatusCode>;
    private patchDocSessionWithCallbacks;
    private processPatchDocSessionWithCallbacks;
    protected processPatchDocSession(xhr: any): HttpStatusCode | null;
    /**
     * Modifies data in this document session
     * @param id Document Key
     * @param changes collection of changes
     * @param pds (optional) when included specified PDS key
     * @param releaseSession (optional) when included and true releases document
     */
    patchDocData(id: string, changes: DocFieldChange[], pds?: string | null | undefined, releaseSession?: boolean | undefined): Promise<{
        [key: string]: number;
    } | null>;
    private patchDocDataWithCallbacks;
    private processPatchDocDataWithCallbacks;
    protected processPatchDocData(xhr: any): {
        [key: string]: number;
    } | null | null;
    /**
     * Modifies the current exclusivity of this document session
     * @param id Document Key
     * @param requestedMode First letter is enough: Default is Doc Session (aka Automatic; D or A), User Session (U), Released (becomes shared, R or 0), Manual (requires permission, M or number of hours), Terminated (requires permission)
     * @param forHours Duration, required for Manual
     */
    patchExclusivity(id: string, requestedMode: string | null, forHours: number): Promise<HttpStatusCode>;
    private patchExclusivityWithCallbacks;
    private processPatchExclusivityWithCallbacks;
    protected processPatchExclusivity(xhr: any): HttpStatusCode | null;
    /**
     * Returns the current Document state (approved, etc)
     * @param id Document Key
     */
    getDocState(id: string): Promise<DocumentState | null>;
    private getDocStateWithCallbacks;
    private processGetDocStateWithCallbacks;
    protected processGetDocState(xhr: any): DocumentState | null | null;
    /**
     * Returns list of tabs
     * @param id Document Key or Document Type Key
     */
    getDocTabs(id: string): Promise<TabStripDetails[] | null>;
    private getDocTabsWithCallbacks;
    private processGetDocTabsWithCallbacks;
    protected processGetDocTabs(xhr: any): TabStripDetails[] | null | null;
    /**
     * Runs the specified ATC script; no automatic save is implied (the script can save).  Result is OK or log.
     * @param id Document Key
     * @param scriptName Name of Script
     */
    runDocWorkflow(id: string, scriptName: string | null): Promise<string | null>;
    private runDocWorkflowWithCallbacks;
    private processRunDocWorkflowWithCallbacks;
    protected processRunDocWorkflow(xhr: any): string | null | null;
    /**
     * Returns the ATC Workflow log for the current document session
     * @param id Document Key
     */
    getDocWorkflowLog(id: string): Promise<string | null>;
    private getDocWorkflowLogWithCallbacks;
    private processGetDocWorkflowLogWithCallbacks;
    protected processGetDocWorkflowLog(xhr: any): string | null | null;
    /**
     * Deletes the item with the specified key
     * @param itemKey Doc Item Key
     * @param crossDocDelete (optional) Even if multiple references?
     * @return Specified item not found
     */
    deleteDocItemByKey(itemKey: string, crossDocDelete?: boolean | undefined): Promise<string>;
    private deleteDocItemByKeyWithCallbacks;
    private processDeleteDocItemByKeyWithCallbacks;
    protected processDeleteDocItemByKey(xhr: any): string | null;
    /**
     * Copies the specified document; returns a list of GUIDs for the created documents
     * @param id Document Key
     * @param destinationProject (optional) optional - target project; if Not specified, same project
     * @param withItems (optional) optional - should items be copied
     * @param withAttachments (optional) optional - should attachments be copied (0=no,1=copy Or .net filter; default Is no
     * @param withRoute (optional) Optional - how route should be handled (0=no,1=copy,Or predefined route name
     * @param withLink (optional) Optional - include link to source
     * @param withDue (optional) Optional - specific New due date, default Is tomorrow
     * @param withCopies (optional) Optional - number of copies, default Is one
     * @param withRecur (optional) Optional - due interval between copies (NA-none;DDaily;WWeekly, see Code Set [Recur])
     */
    postDocFrom(id: string, destinationProject?: string | null | undefined, withItems?: string | null | undefined, withAttachments?: string | null | undefined, withRoute?: string | null | undefined, withLink?: boolean | undefined, withDue?: Date | undefined, withCopies?: number | undefined, withRecur?: string | null | undefined): Promise<string[] | null>;
    private postDocFromWithCallbacks;
    private processPostDocFromWithCallbacks;
    protected processPostDocFrom(xhr: any): string[] | null | null;
}
export declare class ExcelToolsClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Returns a financial snapshot
     * @param id Key of snapshot document
     */
    getSnapshot(id: string | null): Promise<ProjectSnapshot[] | null>;
    private getSnapshotWithCallbacks;
    private processGetSnapshotWithCallbacks;
    protected processGetSnapshot(xhr: any): ProjectSnapshot[] | null | null;
    /**
     * Returns general context information
     * @param id Key of BFA document or project ID
     */
    getBFAAbstract(id: string | null): Promise<BFAAbstract | null>;
    private getBFAAbstractWithCallbacks;
    private processGetBFAAbstractWithCallbacks;
    protected processGetBFAAbstract(xhr: any): BFAAbstract | null | null;
    /**
     * Returns line by line changes since the specified financial snapshot
     * @param id Key of snapshot document
     */
    getBFAAChanges(id: string | null): Promise<ProjectSnapshotDelta[] | null>;
    private getBFAAChangesWithCallbacks;
    private processGetBFAAChangesWithCallbacks;
    protected processGetBFAAChanges(xhr: any): ProjectSnapshotDelta[] | null | null;
    /**
     * Returns line by line changes since the specified financial snapshot
     * @param id Key of snapshot document
     */
    applyBFAAChangesToPTD(id: string | null): Promise<ProjectSnapshotDelta[] | null>;
    private applyBFAAChangesToPTDWithCallbacks;
    private processApplyBFAAChangesToPTDWithCallbacks;
    protected processApplyBFAAChangesToPTD(xhr: any): ProjectSnapshotDelta[] | null | null;
    /**
     * Returns general context information
     * @param id Key of Period Distribution document
     */
    getPeriodDistribAbstract(id: string): Promise<PeriodDistributionAbstract | null>;
    private getPeriodDistribAbstractWithCallbacks;
    private processGetPeriodDistribAbstractWithCallbacks;
    protected processGetPeriodDistribAbstract(xhr: any): PeriodDistributionAbstract | null | null;
    /**
     * Returns a background task ID
     * @param exportFrom part name for export
     * @param exportRequest specifics for export requested
     */
    postExcelExport(exportFrom: string | null, exportRequest: ExportRequest): Promise<string>;
    private postExcelExportWithCallbacks;
    private processPostExcelExportWithCallbacks;
    protected processPostExcelExport(xhr: any): string | null;
    /**
     * Returns a background task ID
     * @param templateID Template ID
     * @param dataContext Data Context
     */
    getCobraExport(templateID: string | null, dataContext: string | null): Promise<string>;
    private getCobraExportWithCallbacks;
    private processGetCobraExportWithCallbacks;
    protected processGetCobraExport(xhr: any): string | null;
    /**
     * Returns a background task ID
     * @param fileKey Catalog File Key
     */
    postContactImport(fileKey: string): Promise<string>;
    private postContactImportWithCallbacks;
    private processPostContactImportWithCallbacks;
    protected processPostContactImport(xhr: any): string | null;
    /**
     * Returns general context information
     * @param id Key of SOV document
     */
    getSOVAbstract(id: string): Promise<SOVAbstract | null>;
    private getSOVAbstractWithCallbacks;
    private processGetSOVAbstractWithCallbacks;
    protected processGetSOVAbstract(xhr: any): SOVAbstract | null | null;
    /**
     * Returns List of Vendor Names and amounts, enumerating vendors paid on the project during the specified date range
     * @param id Key of SOV document
     * @param startDate (optional) Start of date range for vendor payment amounts
     * @param endDate (optional) End of date range for vendor payment amounts
     */
    createVendorWaiversForSOV(id: string, startDate?: Date | undefined, endDate?: Date | undefined): Promise<{
        [key: string]: string;
    } | null>;
    private createVendorWaiversForSOVWithCallbacks;
    private processCreateVendorWaiversForSOVWithCallbacks;
    protected processCreateVendorWaiversForSOV(xhr: any): {
        [key: string]: string;
    } | null | null;
}
export declare class ProjectToolsClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Removes/clears a Project Budget and optionally the entire Project (if uncommitted)
     * @param projectID Full Project ID without mask
     * @param budgetAndProject When true both budget and project are removed
     */
    zapProject(projectID: string | null, budgetAndProject: boolean): Promise<boolean>;
    private zapProjectWithCallbacks;
    private processZapProjectWithCallbacks;
    protected processZapProject(xhr: any): boolean | null;
    /**
     * Creates a Project and Project Setup document (uncommitted)
     * @param projectID Full Project ID without mask
     * @param abstract Data for new project
     */
    putProject(projectID: string | null, abstract: ProjectAbstract): Promise<ProjectAbstract | null>;
    private putProjectWithCallbacks;
    private processPutProjectWithCallbacks;
    protected processPutProject(xhr: any): ProjectAbstract | null | null;
    /**
     * Returns a summary overview of the specified project
     * @param projectID Full Project ID
     */
    getProjectDetail(projectID: string | null): Promise<ProjectAbstract | null>;
    private getProjectDetailWithCallbacks;
    private processGetProjectDetailWithCallbacks;
    protected processGetProjectDetail(xhr: any): ProjectAbstract | null | null;
    /**
     * Creates and posts a NET project budget revision.
     * @param projectID Full Project ID without mask
     * @param targets Bit mask Targets 1=Original, 2=EAC/Current, 4=FAC, 7=all
     * @param budget Budget Line Items
     * @param subType (optional) (Optional) Sub Type code
     * @param sourceNum (optional) (Optional) Source Reference Number
     * @param title (optional) (Optional) Title
     */
    postProjectBudget(projectID: string | null, targets: number, budget: DocItemTask[], subType?: string | null | undefined, sourceNum?: string | null | undefined, title?: string | null | undefined): Promise<string>;
    private postProjectBudgetWithCallbacks;
    private processPostProjectBudgetWithCallbacks;
    protected processPostProjectBudget(xhr: any): string | null;
    /**
     * Releases all cached financial data
     * @param projectID Full Project ID
     */
    deleteProjectCache(projectID: string | null): Promise<any>;
    private deleteProjectCacheWithCallbacks;
    private processDeleteProjectCacheWithCallbacks;
    protected processDeleteProjectCache(xhr: any): any | null;
    /**
     * Returns Committed Amounts   on the project
     * @param projectID Full Project ID
     * @param forWBS (optional) Cost Code Like
     * @param forAccount (optional) Account Category
     * @param forAccountType (optional) Account Category Type (RV,EX,%)
     * @param forAccountClass (optional) Account Category Class (L,LB,M,O,P)
     * @param forPeriod (optional) Fiscal Period
     */
    getProjectCommittedCosts(projectID: string | null, forWBS?: string | null | undefined, forAccount?: string | null | undefined, forAccountType?: string | null | undefined, forAccountClass?: string | null | undefined, forPeriod?: string | null | undefined): Promise<ProjectCommitmentDetail[] | null>;
    private getProjectCommittedCostsWithCallbacks;
    private processGetProjectCommittedCostsWithCallbacks;
    protected processGetProjectCommittedCosts(xhr: any): ProjectCommitmentDetail[] | null | null;
    /**
     * Returns transactions that detail costs on the project
     * @param projectID Full Project ID
     * @param forWBS (optional) Cost Code Like
     * @param forAccount (optional) Account Category
     * @param forAccountType (optional) Account Category Type (RV,EX,%)
     * @param forAccountClass (optional) Account Category Class (L,LB,M,O,P)
     * @param forPeriod (optional) Fiscal Period
     * @param fromDate (optional) From Date
     * @param thruDate (optional) Thru Date
     * @param refDMK (optional) Reference Document
     * @param refVendor (optional) Reference Vendor ID (or Contact Key)
     */
    getProjectCostTransactions(projectID: string | null, forWBS?: string | null | undefined, forAccount?: string | null | undefined, forAccountType?: string | null | undefined, forAccountClass?: string | null | undefined, forPeriod?: string | null | undefined, fromDate?: string | null | undefined, thruDate?: string | null | undefined, refDMK?: string | null | undefined, refVendor?: string | null | undefined): Promise<ProjectTranDetail[] | null>;
    private getProjectCostTransactionsWithCallbacks;
    private processGetProjectCostTransactionsWithCallbacks;
    protected processGetProjectCostTransactions(xhr: any): ProjectTranDetail[] | null | null;
    /**
     * Returns project costs summarized by Account and or Task
     * @param projectID Full Project ID
     * @param summaryByAccount (optional) Summarize by Account Category
     * @param summaryByTask (optional) Summarize by WB Task
     * @param showExp (optional) Include Expense
     * @param showRev (optional) Include Revenue
     * @param showUnits (optional) Show Units instead of dollars
     * @param showThousands (optional) Return amounts in Thousands
     */
    getProjectCost(projectID: string | null, summaryByAccount?: boolean | undefined, summaryByTask?: boolean | undefined, showExp?: boolean | undefined, showRev?: boolean | undefined, showUnits?: boolean | undefined, showThousands?: boolean | undefined): Promise<{
        [key: string]: any;
    }[] | null>;
    private getProjectCostWithCallbacks;
    private processGetProjectCostWithCallbacks;
    protected processGetProjectCost(xhr: any): {
        [key: string]: any;
    }[] | null | null;
    /**
     * Returns one to three rows to summarize project costs summarized by Account and or Task.  The task_desk and acct fields are set to identify the Expense, Revenue and Margin in the result set. The Revenue and Margin rows return the values (revenue and expense margin) in the expense fields
     * @param projectID Full Project ID
     * @param summaryByAccount (optional) Summarize by Account Category
     * @param summaryByTask (optional) Summarize by WB Task
     * @param showExp (optional) Include Expenses
     * @param showRev (optional) Include Revenue (only if summaryByAccount)
     * @param showUnits (optional) Return Units instead of dollars
     * @param showThousands (optional) Return amounts in Thousands
     */
    getProjectCostFooters(projectID: string | null, summaryByAccount?: boolean | undefined, summaryByTask?: boolean | undefined, showExp?: boolean | undefined, showRev?: boolean | undefined, showUnits?: boolean | undefined, showThousands?: boolean | undefined): Promise<any>;
    private getProjectCostFootersWithCallbacks;
    private processGetProjectCostFootersWithCallbacks;
    protected processGetProjectCostFooters(xhr: any): any | null | null;
    /**
     * Returns projects that link to the specified project
     * @param projectID Full Project ID
     */
    getProjectLinks(projectID: string | null): Promise<ProjectLink[] | null>;
    private getProjectLinksWithCallbacks;
    private processGetProjectLinksWithCallbacks;
    protected processGetProjectLinks(xhr: any): ProjectLink[] | null | null;
    /**
     * Returns current note for the specified project
     * @param projectID Full Project ID
     */
    getProjectNote(projectID: string | null): Promise<string | null>;
    private getProjectNoteWithCallbacks;
    private processGetProjectNoteWithCallbacks;
    protected processGetProjectNote(xhr: any): string | null | null;
    /**
     * Sets project note INCOMPLETE!!!
     * @param projectID Full Project ID
     */
    newProjectNote(projectID: string | null, newNote: string): Promise<boolean>;
    private newProjectNoteWithCallbacks;
    private processNewProjectNoteWithCallbacks;
    protected processNewProjectNote(xhr: any): boolean | null;
    /**
     * Returns all notes for the specified project
     * @param projectID Full Project ID
     */
    getProjectNotes(projectID: string | null): Promise<Comment[] | null>;
    private getProjectNotesWithCallbacks;
    private processGetProjectNotesWithCallbacks;
    protected processGetProjectNotes(xhr: any): Comment[] | null | null;
    /**
     * Returns programs in which the specified project is listed
     * @param projectID Full Project ID
     */
    getProjectPrograms(projectID: string | null): Promise<ProjectPrograms[] | null>;
    private getProjectProgramsWithCallbacks;
    private processGetProjectProgramsWithCallbacks;
    protected processGetProjectPrograms(xhr: any): ProjectPrograms[] | null | null;
    /**
     * Returns programs in which the specified project is listed
     * @param projectID Full Project ID
     * @param programList list of programs
     */
    removeProjectPrograms(projectID: string | null, programList: string[]): Promise<ProjectPrograms[] | null>;
    private removeProjectProgramsWithCallbacks;
    private processRemoveProjectProgramsWithCallbacks;
    protected processRemoveProjectPrograms(xhr: any): ProjectPrograms[] | null | null;
    /**
     * Adds programs, then returns programs in which the specified project is listed
     * @param projectID Full Project ID
     * @param programList list of programs
     */
    addProjectPrograms(projectID: string | null, programList: string[]): Promise<ProjectPrograms[] | null>;
    private addProjectProgramsWithCallbacks;
    private processAddProjectProgramsWithCallbacks;
    protected processAddProjectPrograms(xhr: any): ProjectPrograms[] | null | null;
    /**
     * Returns a current financial snapshot for this project
     * @param projectID Project ID
     * @param excludeRowType (optional) When not specified, all rows are returned.  Valid values are T and A
     */
    getProjectBFASnapshot(projectID: string | null, excludeRowType?: string | null | undefined): Promise<ProjectSnapshot[] | null>;
    private getProjectBFASnapshotWithCallbacks;
    private processGetProjectBFASnapshotWithCallbacks;
    protected processGetProjectBFASnapshot(xhr: any): ProjectSnapshot[] | null | null;
    /**
     * Returns WBS for the specified project
     * @param projectID Full Project ID
     */
    getProjectWBS(projectID: string | null): Promise<ProjectWBS[] | null>;
    private getProjectWBSWithCallbacks;
    private processGetProjectWBSWithCallbacks;
    protected processGetProjectWBS(xhr: any): ProjectWBS[] | null | null;
    /**
     * Adds WBS to the specified project
     * @param projectID Full Project ID
     */
    addProjectWBS(projectID: string | null, wbsLine: ProjectWBS): Promise<ProjectWBS | null>;
    private addProjectWBSWithCallbacks;
    private processAddProjectWBSWithCallbacks;
    protected processAddProjectWBS(xhr: any): ProjectWBS | null | null;
    /**
     * Returns WBS for the specified project
     * @param projectID Full Project ID
     */
    putProjectWBS(projectID: string | null, wbsLine: ProjectWBS): Promise<ProjectWBS | null>;
    private putProjectWBSWithCallbacks;
    private processPutProjectWBSWithCallbacks;
    protected processPutProjectWBS(xhr: any): ProjectWBS | null | null;
    /**
     * Updates a WBS entry for the specified project.
     * @param projectID Full Project ID
     * @param wBSID Row Key or WB Code
     * @param fieldName Field Name
     * @param newValue Replacement data
     */
    patchProjectWBS(projectID: string | null, wBSID: string | null, fieldName: string | null, newValue: string): Promise<ProjectWBS | null>;
    private patchProjectWBSWithCallbacks;
    private processPatchProjectWBSWithCallbacks;
    protected processPatchProjectWBS(xhr: any): ProjectWBS | null | null;
    /**
     * Returns history of weather readings at the specified project site INCOMPLETE
     * @param projectID Full Project ID
     */
    getProjectWeatherHistory(projectID: string | null): Promise<WeatherAtLocation[] | null>;
    private getProjectWeatherHistoryWithCallbacks;
    private processGetProjectWeatherHistoryWithCallbacks;
    protected processGetProjectWeatherHistory(xhr: any): WeatherAtLocation[] | null | null;
    /**
     * Returns recent weather reading at the specified project site
     * @param projectID Full Project ID
     */
    getProjectWeatherReading(projectID: string | null): Promise<ProjectWeatherNow | null>;
    private getProjectWeatherReadingWithCallbacks;
    private processGetProjectWeatherReadingWithCallbacks;
    protected processGetProjectWeatherReading(xhr: any): ProjectWeatherNow | null | null;
    /**
     * Returns a summary of peer tasks for this project
     * @param projectID Full Project ID
     */
    getProjectPeerSummary(projectID: string | null): Promise<ProjectXTSTaskState[] | null>;
    private getProjectPeerSummaryWithCallbacks;
    private processGetProjectPeerSummaryWithCallbacks;
    protected processGetProjectPeerSummary(xhr: any): ProjectXTSTaskState[] | null | null;
    /**
     * Requests peer re-sync
     * @param projectID Full Project ID
     */
    refreshPeerSummary(projectID: string | null): Promise<any>;
    private refreshPeerSummaryWithCallbacks;
    private processRefreshPeerSummaryWithCallbacks;
    protected processRefreshPeerSummary(xhr: any): any | null;
}
export declare class ProjectDocListClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Returns full list of documents on a project that match the requested document type
     * @param projectID Full Project ID
     * @param forDocType Doc Type Key
     * @param forDeviceType (optional) For Device Type (Empty==Any; OnMobile)
     */
    getProjectDocList(projectID: string | null, forDocType: string, forDeviceType?: string | null | undefined): Promise<ProjectDocsOfType[] | null>;
    private getProjectDocListWithCallbacks;
    private processGetProjectDocListWithCallbacks;
    protected processGetProjectDocList(xhr: any): ProjectDocsOfType[] | null | null;
    /**
     * Returns documents on a project that match LIMITED filters.  See detail.
     */
    matchingProjectDocList(projectID: string | null, usingFilters: QueryFilters): Promise<ProjectDocsOfType[] | null>;
    private matchingProjectDocListWithCallbacks;
    private processMatchingProjectDocListWithCallbacks;
    protected processMatchingProjectDocList(xhr: any): ProjectDocsOfType[] | null | null;
    /**
     * Returns documents data that has changed using an added/changed/removed diff-gram
     * @param projectID Full Project ID
     * @param forDocType Doc Type Key
     * @param dataSummary KVP of current row keys and ETags
     */
    getChangedDocList(projectID: string | null, forDocType: string, dataSummary: CurrentDataSummary[]): Promise<DataDifferential | null>;
    private getChangedDocListWithCallbacks;
    private processGetChangedDocListWithCallbacks;
    protected processGetChangedDocList(xhr: any): DataDifferential | null | null;
    /**
     * Returns a summary of document processes on a project
     * @param projectID Full Project ID
     * @param forDeviceType (optional) For Device Type (Empty==Any; OnMobile)
     */
    getProjectDocSummary(projectID: string | null, forDeviceType?: string | null | undefined): Promise<TypeSummary[] | null>;
    private getProjectDocSummaryWithCallbacks;
    private processGetProjectDocSummaryWithCallbacks;
    protected processGetProjectDocSummary(xhr: any): TypeSummary[] | null | null;
}
export declare class ProjectKPIClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Returns list of KPI facts for the specified project
     * @param projectID Full Project ID
     */
    getProjectKPIFacts(projectID: string | null): Promise<ProjKPIFact[] | null>;
    private getProjectKPIFactsWithCallbacks;
    private processGetProjectKPIFactsWithCallbacks;
    protected processGetProjectKPIFacts(xhr: any): ProjKPIFact[] | null | null;
}
export declare class ProjectTeamClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Returns members of the specified project team
     * @param projectID Full Project ID
     * @param includeHidden True to include hidden team members
     * @param omitActions (optional) True to exclude menu actions on each row
     */
    getProjectTeamList(projectID: string | null, includeHidden: boolean, omitActions?: boolean | undefined): Promise<ProjectTeamMember[] | null>;
    private getProjectTeamListWithCallbacks;
    private processGetProjectTeamListWithCallbacks;
    protected processGetProjectTeamList(xhr: any): ProjectTeamMember[] | null | null;
    /**
     * Adds new team member(s) to the specified project.  Send collection of ProjectTeamMember, only value required is UserKey
     */
    addProjectTeamMembers(projectID: string | null, newUserData: ProjectTeamMember[]): Promise<ProjectTeamMember[] | null>;
    private addProjectTeamMembersWithCallbacks;
    private processAddProjectTeamMembersWithCallbacks;
    protected processAddProjectTeamMembers(xhr: any): ProjectTeamMember[] | null | null;
    /**
     * Replaces the specified team member on a given project or projects that match the scope
     * @param projectID Project ID
     * @param fromUser ID of team member to replace
     * @param toUser ID of new team member
     * @param scope A project id mask or % for all
     * @return Specified team member not found
     */
    replaceTeamMember(projectID: string | null, fromUser: string, toUser: string, scope: string | null): Promise<string>;
    private replaceTeamMemberWithCallbacks;
    private processReplaceTeamMemberWithCallbacks;
    protected processReplaceTeamMember(xhr: any): string | null;
    /**
     * Deletes the team member on the specified project
     * @param projectID Full Project ID
     * @param teamMemberKey Team Member Key (not the User Key)
     * @return Specified team member not found
     */
    deleteTeamMember(projectID: string | null, teamMemberKey: string): Promise<string>;
    private deleteTeamMemberWithCallbacks;
    private processDeleteTeamMemberWithCallbacks;
    protected processDeleteTeamMember(xhr: any): string | null;
    /**
     * Updates the team member on the specified project
     * @param projectID Project ID
     * @param teamMemberKey ID of team member entity to replace, not the UserKey.  When empty, taken from newData.UserProjectKey!
     * @param newData updated data for this entity
     * @return Specified team member not found
     */
    updateTeamMember(projectID: string | null, teamMemberKey: string, newData: ProjectTeamMember): Promise<string>;
    private updateTeamMemberWithCallbacks;
    private processUpdateTeamMemberWithCallbacks;
    protected processUpdateTeamMember(xhr: any): string | null;
    /**
     * Updates the team member on the specified project
     * @param projectID Project ID
     * @param userProjectTeamKey Key for Team Member Row
     * @param fieldName Field Name
     * @param newValue Replacement Value
     * @return Specified team member not found
     */
    patchProjectTeam(projectID: string | null, userProjectTeamKey: string, fieldName: string | null, newValue: string): Promise<string>;
    private patchProjectTeamWithCallbacks;
    private processPatchProjectTeamWithCallbacks;
    protected processPatchProjectTeam(xhr: any): string | null;
}
export declare class ProjectsClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Returns projects that match User and hidden filter
     * @param forUserKey User Key (for proxy) or 00000000-0000-0000-0000-000000000000 for self
     * @param includeHidden True to include hidden projects in the result
     */
    getList(forUserKey: string, includeHidden: boolean): Promise<ProjectSummary[] | null>;
    private getListWithCallbacks;
    private processGetListWithCallbacks;
    protected processGetList(xhr: any): ProjectSummary[] | null | null;
    /**
     * Returns projects that match User, Program, hidden filter
     */
    getMatchingList(usingFilters: QueryFilters): Promise<ProjectSummary[] | null>;
    private getMatchingListWithCallbacks;
    private processGetMatchingListWithCallbacks;
    protected processGetMatchingList(xhr: any): ProjectSummary[] | null | null;
    /**
     * Returns an abstract for every unhidden project for this user
     * @param forUserKey User Key (for proxy) or 00000000-0000-0000-0000-000000000000 for self
     */
    getAbstractList(forUserKey: string): Promise<ProjectAbstract[] | null>;
    private getAbstractListWithCallbacks;
    private processGetAbstractListWithCallbacks;
    protected processGetAbstractList(xhr: any): ProjectAbstract[] | null | null;
    /**
     * Returns project list data that has changed
     * @param forUserKey User Key (for proxy) or 00000000-0000-0000-0000-000000000000 for self
     * @param includeHidden True to include hidden projects in the result
     * @param dataSummary KVP of current row keys (UserProjectKey) and etags
     */
    getChangedProjectItems(forUserKey: string, includeHidden: boolean, dataSummary: CurrentDataSummary[]): Promise<DataDifferential | null>;
    private getChangedProjectItemsWithCallbacks;
    private processGetChangedProjectItemsWithCallbacks;
    protected processGetChangedProjectItems(xhr: any): DataDifferential | null | null;
    /**
     * Returns the number of unhidden projects for this user
     * @param forUserKey User Key (for proxy) or 00000000-0000-0000-0000-000000000000 for self
     */
    getUserProjectCount(forUserKey: string): Promise<number>;
    private getUserProjectCountWithCallbacks;
    private processGetUserProjectCountWithCallbacks;
    protected processGetUserProjectCount(xhr: any): number | null;
    /**
     * Requests executive summary data matching filters.  Use SessionController to check task and retrieve result
     */
    exportExecutiveData(usingFilters: QueryFilters): Promise<string>;
    private exportExecutiveDataWithCallbacks;
    private processExportExecutiveDataWithCallbacks;
    protected processExportExecutiveData(xhr: any): string | null;
    /**
     * Updates the specified entry on the user project list
     * @param forUserKey User Key (for proxy) or 00000000-0000-0000-0000-000000000000 for self
     * @param projectID Project ID or UserProjectKey
     * @param fieldName Field Name
     * @param newValue Replacement Value
     */
    patchUserProjectList(forUserKey: string, projectID: string | null, fieldName: string | null, newValue: string | null): Promise<any>;
    private patchUserProjectListWithCallbacks;
    private processPatchUserProjectListWithCallbacks;
    protected processPatchUserProjectList(xhr: any): any | null;
}
export declare class SessionClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Removes a specific users session; see also api/system/users/idle to auto-prune
     */
    deleteSessionById(userKey: string, sessionID: string | null): Promise<boolean>;
    private deleteSessionByIdWithCallbacks;
    private processDeleteSessionByIdWithCallbacks;
    protected processDeleteSessionById(xhr: any): boolean | null;
    /**
     * Releases document session by its session key
     * @param id Session Key
     * @return No session
     */
    deleteDocumentSession(id: string | null): Promise<string>;
    private deleteDocumentSessionWithCallbacks;
    private processDeleteDocumentSessionWithCallbacks;
    protected processDeleteDocumentSession(xhr: any): string | null;
    /**
     * Returns a token that can be exchanged for the specific packet of information
     */
    createExchangeToken(tokenPayload: TokenRequest): Promise<string | null>;
    private createExchangeTokenWithCallbacks;
    private processCreateExchangeTokenWithCallbacks;
    protected processCreateExchangeToken(xhr: any): string | null | null;
    /**
     * Returns the token-specific packet of information with Auth, Session and Args encrypted
     * @param token Token
     */
    exchangeToken(token: string | null): Promise<AuthenticationExchangeData | null>;
    private exchangeTokenWithCallbacks;
    private processExchangeTokenWithCallbacks;
    protected processExchangeToken(xhr: any): AuthenticationExchangeData | null | null;
    /**
     * Returns nice fresh GUID(s) / UUID
     * @param count Number of GUIDs to return, max is 39
     */
    getNewGuid(count: number): Promise<string[] | null>;
    private getNewGuidWithCallbacks;
    private processGetNewGuidWithCallbacks;
    protected processGetNewGuid(xhr: any): string[] | null | null;
    /**
     * Logs the posted data
     * @param logData Information To be logged
     */
    postToWebAppLog(logData: APIData): Promise<HttpStatusCode>;
    private postToWebAppLogWithCallbacks;
    private processPostToWebAppLogWithCallbacks;
    protected processPostToWebAppLog(xhr: any): HttpStatusCode | null;
    /**
     * Ends this session
     */
    getEndOfSession(): Promise<boolean>;
    private getEndOfSessionWithCallbacks;
    private processGetEndOfSessionWithCallbacks;
    protected processGetEndOfSession(xhr: any): boolean | null;
    /**
     * Returns list of reports of report groups accessible to this user
     */
    getMenu(menuId: string | null): Promise<MenuAction[] | null>;
    private getMenuWithCallbacks;
    private processGetMenuWithCallbacks;
    protected processGetMenu(xhr: any): MenuAction[] | null | null;
    /**
     * returns magic number that allows client to know if its nonvolatile data is up-to-date
     */
    getLVDataMagicNumber(): Promise<string | null>;
    private getLVDataMagicNumberWithCallbacks;
    private processGetLVDataMagicNumberWithCallbacks;
    protected processGetLVDataMagicNumber(xhr: any): string | null | null;
    /**
     * Returns authorization flags for each demand
     * @param demandList Demand Context
     */
    getAccessAllows(demandList: PermissionContext[]): Promise<PermissionContext[] | null>;
    private getAccessAllowsWithCallbacks;
    private processGetAccessAllowsWithCallbacks;
    protected processGetAccessAllows(xhr: any): PermissionContext[] | null | null;
    /**
     * Returns this users permission flags for a specific capability and context.
     * @param ucModule ucModule (SYS, LIST, PAGE, PART, etc)
     * @param ucName ucName (substitute @ for slash and ! for periods)
     * @param projectID (optional) Project ID
     * @param documentType (optional) Document Type
     */
    getCapabilityPermits(ucModule: string | null, ucName: string | null, projectID?: string | null | undefined, documentType?: string | null | undefined): Promise<PermissionFlags>;
    private getCapabilityPermitsWithCallbacks;
    private processGetCapabilityPermitsWithCallbacks;
    protected processGetCapabilityPermits(xhr: any): PermissionFlags | null;
    /**
     * Returns list of permissions by Module | Function
     * @param eTag (optional) Returns nothing if eTag matches supplied eTag
     */
    getProjectPermitNameMap(eTag?: string | null | undefined): Promise<any>;
    private getProjectPermitNameMapWithCallbacks;
    private processGetProjectPermitNameMapWithCallbacks;
    protected processGetProjectPermitNameMap(xhr: any): any | null;
    /**
     * Returns list of permissions for a project
     * @param projectID Project ID
     */
    getProjectPermits(projectID: string | null): Promise<UCPermitSet | null>;
    private getProjectPermitsWithCallbacks;
    private processGetProjectPermitsWithCallbacks;
    protected processGetProjectPermits(xhr: any): UCPermitSet | null | null;
    /**
     * Returns list of documents recently accessed by this user
     */
    getRecentDocs(): Promise<MenuAction[] | null>;
    private getRecentDocsWithCallbacks;
    private processGetRecentDocsWithCallbacks;
    protected processGetRecentDocs(xhr: any): MenuAction[] | null | null;
    /**
     * Returns list of reports and report groups accessible to this user
     */
    getReportMenu(groupId: string | null): Promise<MenuAction[] | null>;
    private getReportMenuWithCallbacks;
    private processGetReportMenuWithCallbacks;
    protected processGetReportMenu(xhr: any): MenuAction[] | null | null;
    /**
     * Returns label and tip for new tab
     * @param id key for new tab, typically project id
     * @param forTabType (optional) optional tab type (project,other, otherUser,blank for all)
     */
    getSessionTabLabels(id: string | null, forTabType?: string | null | undefined): Promise<TabDisplay | null>;
    private getSessionTabLabelsWithCallbacks;
    private processGetSessionTabLabelsWithCallbacks;
    protected processGetSessionTabLabels(xhr: any): TabDisplay | null | null;
    /**
     * Returns list of open tabs
     * @param forTabType (optional) optional tab type (project,other, other-user,blank for all)
     */
    getSessionTabs(forTabType?: string | null | undefined): Promise<TabStripDetails[] | null>;
    private getSessionTabsWithCallbacks;
    private processGetSessionTabsWithCallbacks;
    protected processGetSessionTabs(xhr: any): TabStripDetails[] | null | null;
    /**
     * Adds a tab to list of open tabs
     * @param tabKey tab key (perhaps project id or user key)
     * @param tabText tab text (displayed)
     * @param tabTip tab tip (display on mouse over)
     * @param tabAction tab action (must also be unique, so often includes tab key
     * @param forTabType (optional) optional tab type (project,other, otherUser)
     * @return User Tab collection not found
     */
    addSessionTab(tabKey: string | null, tabText: string | null, tabTip: string | null, tabAction: string | null, forTabType?: string | null | undefined): Promise<string>;
    private addSessionTabWithCallbacks;
    private processAddSessionTabWithCallbacks;
    protected processAddSessionTab(xhr: any): string | null;
    /**
     * Returns list of open tabs
     * @param tabKey Tab Key
     * @return No tabs (verify session)
     */
    deleteSessionTab(tabKey: string | null): Promise<string>;
    private deleteSessionTabWithCallbacks;
    private processDeleteSessionTabWithCallbacks;
    protected processDeleteSessionTab(xhr: any): string | null;
    /**
     * Return cross request task result data as json
     */
    getTaskResult(taskID: string): Promise<any>;
    private getTaskResultWithCallbacks;
    private processGetTaskResultWithCallbacks;
    protected processGetTaskResult(xhr: any): any | null;
    /**
     * Emails cross request task result when ready
     */
    sendTaskResult(taskID: string): Promise<any>;
    private sendTaskResultWithCallbacks;
    private processSendTaskResultWithCallbacks;
    protected processSendTaskResult(xhr: any): any | null;
    /**
     * Return cross request result data as a file
     */
    getTaskFile(taskID: string): Promise<Stream>;
    private getTaskFileWithCallbacks;
    private processGetTaskFileWithCallbacks;
    protected processGetTaskFile(xhr: any): Stream | null;
    /**
     * Return cross request task state
     * @return task is done
     */
    getTaskState(taskID: string): Promise<HttpResponseJsonContent>;
    private getTaskStateWithCallbacks;
    private processGetTaskStateWithCallbacks;
    protected processGetTaskState(xhr: any): HttpResponseJsonContent | null;
    /**
     * Sets the cancelation token on the the cross request task
     * @return task is done
     */
    cancelTask(taskID: string): Promise<HttpResponseJsonContent>;
    private cancelTaskWithCallbacks;
    private processCancelTaskWithCallbacks;
    protected processCancelTask(xhr: any): HttpResponseJsonContent | null;
    /**
     * Sets the time offset for this session
     */
    postClientTime(timeNow: Date, tzOffset: number): Promise<boolean>;
    private postClientTimeWithCallbacks;
    private processPostClientTimeWithCallbacks;
    protected processPostClientTime(xhr: any): boolean | null;
    /**
     * returns true if user has document open in this session
     * @param id key of document
     */
    getUsingThisDocument(id: string): Promise<boolean>;
    private getUsingThisDocumentWithCallbacks;
    private processGetUsingThisDocumentWithCallbacks;
    protected processGetUsingThisDocument(xhr: any): boolean | null;
    /**
     * Patches the value In the indicated resource
     * @param tableName Table Name (data layer, not native SQL)
     * @param fieldName field
     * @param changeData Change information
     */
    patchFieldValue(tableName: string | null, fieldName: string | null, changeData: PDSData): Promise<HttpStatusCode>;
    private patchFieldValueWithCallbacks;
    private processPatchFieldValueWithCallbacks;
    protected processPatchFieldValue(xhr: any): HttpStatusCode | null;
    /**
     * Returns server version in major.minor.build.t
     */
    getVersion(): Promise<string | null>;
    private getVersionWithCallbacks;
    private processGetVersionWithCallbacks;
    protected processGetVersion(xhr: any): string | null | null;
    /**
     * Returns WCC Session data
     * @param context (optional)
     */
    getWCC(context?: string | null | undefined): Promise<{
        [key: string]: any;
    } | null>;
    private getWCCWithCallbacks;
    private processGetWCCWithCallbacks;
    protected processGetWCC(xhr: any): {
        [key: string]: any;
    } | null | null;
}
export declare class SystemClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Returns site branding label
     */
    getBranding(): Promise<string | null>;
    private getBrandingWithCallbacks;
    private processGetBrandingWithCallbacks;
    protected processGetBranding(xhr: any): string | null | null;
    /**
     * Reloads site configuration and settings
     */
    reloadSiteConfiguration(): Promise<string | null>;
    private reloadSiteConfigurationWithCallbacks;
    private processReloadSiteConfigurationWithCallbacks;
    protected processReloadSiteConfiguration(xhr: any): string | null | null;
    /**
     * Returns site copyright label
     */
    getCopyright(): Promise<string | null>;
    private getCopyrightWithCallbacks;
    private processGetCopyrightWithCallbacks;
    protected processGetCopyright(xhr: any): string | null | null;
    /**
     * Returns if running in dev mode
     */
    getDevMode(): Promise<boolean>;
    private getDevModeWithCallbacks;
    private processGetDevModeWithCallbacks;
    protected processGetDevMode(xhr: any): boolean | null;
    /**
     * Changes dev mode
     * @param mode New Dev Mode
     */
    setDevMode(mode: boolean): Promise<boolean>;
    private setDevModeWithCallbacks;
    private processSetDevModeWithCallbacks;
    protected processSetDevMode(xhr: any): boolean | null;
    /**
     * Returns list of active documents
     */
    getActiveDocList(): Promise<{
        [key: string]: any;
    }[] | null>;
    private getActiveDocListWithCallbacks;
    private processGetActiveDocListWithCallbacks;
    protected processGetActiveDocList(xhr: any): {
        [key: string]: any;
    }[] | null | null;
    /**
     * Returns list of trashed documents
     * @param key (optional) Use empty for all deleted docs
     */
    getDeletedDocList(key?: string | undefined): Promise<{
        [key: string]: any;
    }[] | null>;
    private getDeletedDocListWithCallbacks;
    private processGetDeletedDocListWithCallbacks;
    protected processGetDeletedDocList(xhr: any): {
        [key: string]: any;
    }[] | null | null;
    /**
     * Recovers a specific deleted document
     * @param key (optional) Required DMK
     */
    recoverDeletedDocument(key?: string | undefined): Promise<boolean>;
    private recoverDeletedDocumentWithCallbacks;
    private processRecoverDeletedDocumentWithCallbacks;
    protected processRecoverDeletedDocument(xhr: any): boolean | null;
    /**
     * Allows admin to detect state of  Declarative Referential Integrity
     * @param key Key, usually a Data PK
     */
    getDRI(key: string | null): Promise<boolean>;
    private getDRIWithCallbacks;
    private processGetDRIWithCallbacks;
    protected processGetDRI(xhr: any): boolean | null;
    /**
     * Allows admin to suppress Declarative Referential Integrity
     * @param key Key, usually a Data PK
     * @param mode New DRI Mode
     */
    setDRI(key: string | null, mode: boolean): Promise<boolean>;
    private setDRIWithCallbacks;
    private processSetDRIWithCallbacks;
    protected processSetDRI(xhr: any): boolean | null;
    /**
     * Returns state of identity federation peers
     */
    getFederationVia(): Promise<{
        [key: string]: string;
    } | null>;
    private getFederationViaWithCallbacks;
    private processGetFederationViaWithCallbacks;
    protected processGetFederationVia(xhr: any): {
        [key: string]: string;
    } | null | null;
    /**
     * Returns OK or NAK
     * @param peer Identifies the source
     * @param type Type of peer notification.  See PeerNotificationType enum  <ul><li>CK - Discard catalog cache by key</li>
                                         <li>FFF - Flush File by Key/Rev</li>           <li>LV - Limited Volatility Data has been changed and should be reloaded</li>
                                         <li>PROJ - Project Flush</li>                  <li>RR - Rules have been changed</li>
                                         <li>UAC - User Roles have been changed</li>    <li>ReloadSiteConfig - Full reload (Diagnostic page button)</li>
                                         <li>ATC - ATC Active </li>                     <li>XTS - Exchange Token Sync (asks peers if they know the exchange token)</li>
     * @param info Body of notification
     */
    postHMS(peer: string | null, type: string | null, info: string | null): Promise<string | null>;
    private postHMSWithCallbacks;
    private processPostHMSWithCallbacks;
    protected processPostHMS(xhr: any): string | null | null;
    /**
     * Returns site logo URL
     */
    getSiteLogo(): Promise<string | null>;
    private getSiteLogoWithCallbacks;
    private processGetSiteLogoWithCallbacks;
    protected processGetSiteLogo(xhr: any): string | null | null;
    /**
     * Returns name of this IIS server
     */
    getServerNodeName(): Promise<string | null>;
    private getServerNodeNameWithCallbacks;
    private processGetServerNodeNameWithCallbacks;
    protected processGetServerNodeName(xhr: any): string | null | null;
    /**
     * Returns UUID
     */
    getNonce(peerKey: string | null): Promise<string>;
    private getNonceWithCallbacks;
    private processGetNonceWithCallbacks;
    protected processGetNonce(xhr: any): string | null;
    /**
     * Returns server notification or empty string
     * @param hash Optional random number (eschew middleware cache)
     */
    getSystemNotification(hash: string | null): Promise<string | null>;
    private getSystemNotificationWithCallbacks;
    private processGetSystemNotificationWithCallbacks;
    protected processGetSystemNotification(xhr: any): string | null | null;
    /**
     * Encrypts and stores the posted information in xtsConfig
     * @param partnerType partner type (eg CloudStore)
     * @param servicePoint for Service.oAuthData
     * @param payload Quote enclosed JSON
     */
    postAuthData(partnerType: string | null, servicePoint: string | null, payload: string): Promise<HttpStatusCode>;
    private postAuthDataWithCallbacks;
    private processPostAuthDataWithCallbacks;
    protected processPostAuthData(xhr: any): HttpStatusCode | null;
    /**
     * Returns obfuscated and Base64 encoded string
     * @param usingKey Key for encrypt
     * @param payload What to encrypt and Base64 (enclose in quotes)
     * @return Umm
     */
    obfuscateData(usingKey: string | null, payload: string): Promise<string>;
    private obfuscateDataWithCallbacks;
    private processObfuscateDataWithCallbacks;
    protected processObfuscateData(xhr: any): string | null;
    /**
     * Returns list of active document/process types
     * @param key Use 00000000-1000-0000-1000-000000000000 for all active processes
     */
    getProcessList(key: string): Promise<ProcessDocumentType[] | null>;
    private getProcessListWithCallbacks;
    private processGetProcessListWithCallbacks;
    protected processGetProcessList(xhr: any): ProcessDocumentType[] | null | null;
    /**
     * Returns public catalog data (for example login-1.htm
     */
    getPublicResource(path: string | null): Promise<string | null>;
    private getPublicResourceWithCallbacks;
    private processGetPublicResourceWithCallbacks;
    protected processGetPublicResource(xhr: any): string | null | null;
    /**
     * Returns statistical data
     * @param withDetails (optional)
     */
    getSystemStats(withDetails?: boolean | undefined): Promise<{
        [key: string]: any;
    } | null>;
    private getSystemStatsWithCallbacks;
    private processGetSystemStatsWithCallbacks;
    protected processGetSystemStats(xhr: any): {
        [key: string]: any;
    } | null | null;
    /**
     * Returns list of active users
     */
    getActiveUserList(): Promise<UserSessionInfo[] | null>;
    private getActiveUserListWithCallbacks;
    private processGetActiveUserListWithCallbacks;
    protected processGetActiveUserList(xhr: any): UserSessionInfo[] | null | null;
    /**
     * Prunes idle users (per license). See also DeleteSessionById (api/session/{userKey}/{sessionID}
     */
    pruneIdleUsers(): Promise<number>;
    private pruneIdleUsersWithCallbacks;
    private processPruneIdleUsersWithCallbacks;
    protected processPruneIdleUsers(xhr: any): number | null;
    /**
     * Returns server version in major.minor.build.t
     * @param shortVersion (optional)
     */
    getVersion(shortVersion?: boolean | undefined): Promise<string | null>;
    private getVersionWithCallbacks;
    private processGetVersionWithCallbacks;
    protected processGetVersion(xhr: any): string | null | null;
}
export declare class UICFGClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Returns Live UI CFG data for this user for the requested part
     * @param partName Part Name
     * @param forDocType (optional) optional document type (GUID format)
     * @param forProject (optional) specific project ID
     * @param forContext (optional) optional context (subtype, container, etc)
     */
    getLiveDisplay(partName: string | null, forDocType?: string | null | undefined, forProject?: string | null | undefined, forContext?: string | null | undefined): Promise<UIDisplayPart | null>;
    private getLiveDisplayWithCallbacks;
    private processGetLiveDisplayWithCallbacks;
    protected processGetLiveDisplay(xhr: any): UIDisplayPart | null | null;
    /**
     * Store updated UI CFG data for the specified part
     * @param partName Part Name
     * @param forDocType document type (GUID format Or 1)
     * @param forContext context (subtype, container, etc, Or 0)
     * @param cFGData CFG Records
     */
    storePartUICFG(partName: string | null, forDocType: string | null, forContext: string | null, cFGData: UIDisplayConfig[]): Promise<void>;
    private storePartUICFGWithCallbacks;
    private processStorePartUICFGWithCallbacks;
    protected processStorePartUICFG(xhr: any): void | null;
    /**
     * Returns Live UI CFG data for this user for the requested lookup
     * @param lookupName Lookup Name
     */
    getLookupDisplay(lookupName: string | null): Promise<UIDisplayPart | null>;
    private getLookupDisplayWithCallbacks;
    private processGetLookupDisplayWithCallbacks;
    protected processGetLookupDisplay(xhr: any): UIDisplayPart | null | null;
    /**
     * Returns CFG Rule result information
     * @param ruleName Rule Name (eq DocTypeConfig or PresetSearch)
     * @param testValue Test Value (eq DocTypeConfig or PresetSearch)
     * @param filterValue (optional) Filter Value (often a Doc Type Key)
     * @param defaultValue (optional) Default Value (mostly helps indicate type)
     */
    getRuleResultAsBoolean(ruleName: string | null, testValue: string | null, filterValue?: string | null | undefined, defaultValue?: boolean | undefined): Promise<boolean>;
    private getRuleResultAsBooleanWithCallbacks;
    private processGetRuleResultAsBooleanWithCallbacks;
    protected processGetRuleResultAsBoolean(xhr: any): boolean | null;
    /**
     * Returns CFG Rule result information
     * @param ruleName Rule Name (eq DocTypeConfig or PresetSearch)
     * @param testValue Test Value (eq DocTypeConfig or PresetSearch)
     * @param filterValue (optional) Filter Value (often a Doc Type Key)
     * @param defaultValue (optional) Default Value (mostly helps indicate type)
     */
    getRuleResultAsNumber(ruleName: string | null, testValue: string | null, filterValue?: string | null | undefined, defaultValue?: number | undefined): Promise<number>;
    private getRuleResultAsNumberWithCallbacks;
    private processGetRuleResultAsNumberWithCallbacks;
    protected processGetRuleResultAsNumber(xhr: any): number | null;
    /**
     * Returns CFG Rule result information
     * @param ruleName Rule Name (eq DocTypeConfig or PresetSearch)
     * @param testValue Test Value (eq DocTypeConfig or PresetSearch)
     * @param filterValue (optional) Filter Value (often a Doc Type Key)
     * @param defaultValue (optional) Default Value (mostly helps indicate type)
     */
    getRuleResult(ruleName: string | null, testValue: string | null, filterValue?: string | null | undefined, defaultValue?: string | null | undefined): Promise<string | null>;
    private getRuleResultWithCallbacks;
    private processGetRuleResultWithCallbacks;
    protected processGetRuleResult(xhr: any): string | null | null;
}
export declare class XTSClient extends APIClientBase {
    baseUrl: string;
    beforeSend: any;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(baseUrl?: string);
    /**
     * Requests the document be requeued for cloud sync
     * @param fileKey (optional)
     * @return Request enqueued
     */
    cloudSyncDocPUT(id: string, fileKey?: string | null | undefined): Promise<string>;
    private cloudSyncDocPUTWithCallbacks;
    private processCloudSyncDocPUTWithCallbacks;
    protected processCloudSyncDocPUT(xhr: any): string | null;
    /**
     * Requests information about the document related to cloud storage
     */
    cloudSyncDocGET(id: string): Promise<{
        [key: string]: any;
    } | null>;
    private cloudSyncDocGETWithCallbacks;
    private processCloudSyncDocGETWithCallbacks;
    protected processCloudSyncDocGET(xhr: any): {
        [key: string]: any;
    } | null | null;
    /**
     * Requests all compliance items that have changed since the last key map update
     */
    getComplianceChanges(): Promise<InboundComplianceItem[] | null>;
    private getComplianceChangesWithCallbacks;
    private processGetComplianceChangesWithCallbacks;
    protected processGetComplianceChanges(xhr: any): InboundComplianceItem[] | null | null;
    /**
     * Receives a push notification from peer with a json payload
     */
    xTSInbound(peer: string | null, peerVersion: string | null): Promise<HttpStatusCode>;
    private xTSInboundWithCallbacks;
    private processXTSInboundWithCallbacks;
    protected processXTSInbound(xhr: any): HttpStatusCode | null;
    /**
     * Receives a push notification from peer
     */
    cloudSyncChange(peerVersion: string | null, peerDrive: string | null, payload: CloudChange[]): Promise<HttpStatusCode>;
    private cloudSyncChangeWithCallbacks;
    private processCloudSyncChangeWithCallbacks;
    protected processCloudSyncChange(xhr: any): HttpStatusCode | null;
    /**
     * Updates key map identified either by TDKeyMapKey or by the sfRecordKey plus AlienSet
     * @param mapData Map Data
     */
    putKeyMap(mapData: XTSKeyMap): Promise<boolean>;
    private putKeyMapWithCallbacks;
    private processPutKeyMapWithCallbacks;
    protected processPutKeyMap(xhr: any): boolean | null;
    /**
     * Requests key map
     * @param key Map Key
     */
    getKeyMapByKey(key: string): Promise<XTSKeyMap | null>;
    private getKeyMapByKeyWithCallbacks;
    private processGetKeyMapByKeyWithCallbacks;
    protected processGetKeyMapByKey(xhr: any): XTSKeyMap | null | null;
    /**
     * Requests key map based on peer AK
     * @param setName Map Set
     * @param key Map Key
     * @param parts optional Key parts
     */
    getAlienKeyMap(setName: string | null, key: string | null, parts: string | null): Promise<XTSKeyMap | null>;
    private getAlienKeyMapWithCallbacks;
    private processGetAlienKeyMapWithCallbacks;
    protected processGetAlienKeyMap(xhr: any): XTSKeyMap | null | null;
    /**
     * Requests key map for a spitfire key
     * @param setName Map Set
     * @param key Map Key
     * @param parts unused
     */
    getSpitfireKeyMap(setName: string | null, key: string | null, parts: string | null): Promise<XTSKeyMap | null>;
    private getSpitfireKeyMapWithCallbacks;
    private processGetSpitfireKeyMapWithCallbacks;
    protected processGetSpitfireKeyMap(xhr: any): XTSKeyMap | null | null;
    /**
     * Posts an alert condition about an XTS Key Map
     */
    postKeyMapAlert(key: string, info: AlertCondition): Promise<boolean>;
    private postKeyMapAlertWithCallbacks;
    private processPostKeyMapAlertWithCallbacks;
    protected processPostKeyMapAlert(xhr: any): boolean | null;
    /**
     * Returns list of peer tasks
     */
    getXTSQueue(): Promise<XTSAction[] | null>;
    private getXTSQueueWithCallbacks;
    private processGetXTSQueueWithCallbacks;
    protected processGetXTSQueue(xhr: any): XTSAction[] | null | null;
    /**
     * Deletes a task
     * @param actionKey Action Key
     */
    deleteXTSAction(actionKey: string): Promise<HttpStatusCode>;
    private deleteXTSActionWithCallbacks;
    private processDeleteXTSActionWithCallbacks;
    protected processDeleteXTSAction(xhr: any): HttpStatusCode | null;
    /**
     * Requests task to be run soon
     * @param actionKey Action Key
     */
    rushXTSAction(actionKey: string): Promise<HttpStatusCode>;
    private rushXTSActionWithCallbacks;
    private processRushXTSActionWithCallbacks;
    protected processRushXTSAction(xhr: any): HttpStatusCode | null;
    /**
     * Adds a task to the queue.  Specify one of KMK, SFK, AK
     * @param group Task Group, usually ERPData
     * @param actionType Action eg GetPMTX, GetCustomers, etc
     * @param kMK (optional) KeyMap Key, optional, overrides SFK and AK if specified
     * @param sFK (optional) Spitfire record key, optional, overrides AK is specified
     * @param aK (optional) Shared Alternate Key, optional
     */
    putXTSTask(group: string | null, actionType: string | null, kMK?: string | null | undefined, sFK?: string | null | undefined, aK?: string | null | undefined): Promise<string>;
    private putXTSTaskWithCallbacks;
    private processPutXTSTaskWithCallbacks;
    protected processPutXTSTask(xhr: any): string | null;
    /**
     * Returns list of peer tasks of a specific type
     * @param taskType Task Type (SendAP, GetVendors, etc)
     */
    getXTSQueueForType(taskType: string | null): Promise<{
        [key: string]: any;
    }[] | null>;
    private getXTSQueueForTypeWithCallbacks;
    private processGetXTSQueueForTypeWithCallbacks;
    protected processGetXTSQueueForType(xhr: any): {
        [key: string]: any;
    }[] | null | null;
    /**
     * Resets any orphaned tasks
     */
    xTSReset(): Promise<XTSAction[] | null>;
    private xTSResetWithCallbacks;
    private processXTSResetWithCallbacks;
    protected processXTSReset(xhr: any): XTSAction[] | null | null;
    /**
     * Returns list of pending routing including outbound email and workflow
     */
    getRouteQueue(): Promise<{
        [key: string]: any;
    }[] | null>;
    private getRouteQueueWithCallbacks;
    private processGetRouteQueueWithCallbacks;
    protected processGetRouteQueue(xhr: any): {
        [key: string]: any;
    }[] | null | null;
    /**
     * Returns point in time state of ATC routing
     */
    getRouteState(): Promise<string | null>;
    private getRouteStateWithCallbacks;
    private processGetRouteStateWithCallbacks;
    protected processGetRouteState(xhr: any): string | null | null;
    /**
     * Returns state of ATC Service for ERP Actions
     */
    getXTSState(): Promise<string | null>;
    private getXTSStateWithCallbacks;
    private processGetXTSStateWithCallbacks;
    protected processGetXTSState(xhr: any): string | null | null;
}
/** Describes basic information from which an Alert will be created */
export interface AlertCondition {
    /** For example User=UserKey or Role=RoleKey.  UserKey can be a unique email address; Role Key can be a unique role name */
    Distribution?: string | undefined;
    /** Document about which the alert was generated */
    DocMasterKey?: string | undefined;
    /** Notification type (M for email) */
    NotificationType?: string | undefined;
    /** Short Description of alert */
    Summary?: string | undefined;
    /** Long description (generated using AlertText rules) */
    FullDescription?: string | undefined;
    /** Project ID */
    Project?: string | undefined;
    /** Source of alert (ATC, CloudStorage, XTS, etc) */
    Source?: string | undefined;
    /** Key from source to indentify its alerts.  For XTS, use TDKeyMapKey here */
    SourceKey?: string | undefined;
    /** Extra info for categorization */
    Info1?: string | undefined;
    /** Extra info 2 */
    Info2?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Passes data to a simple API */
export interface APIData {
    /** Raw Data */
    Data?: string | undefined;
    /** when true, data has been uri encoded (encodeURIComponent) */
    IsURIEncoded?: boolean;
}
export interface AuthenticationExchangeData {
    XID?: string | undefined;
    IsValid?: boolean;
    GAFMOptOut?: boolean;
    IdleForce?: number;
    iconHeight?: number;
    uiVaryBy?: number;
    SessionID?: string | undefined;
    AuthData?: string | undefined;
    Args?: string | undefined;
    FullName?: string | undefined;
    UserKey?: string | undefined;
    DataPK?: string | undefined;
    dsCacheKey?: string | undefined;
    PageName?: string | undefined;
    PartName?: string | undefined;
    DocSessionKey?: string | undefined;
    DataLockFlag?: string | undefined;
    LoginSessionKey?: string | undefined;
    TZOffset?: number;
    SiteID?: string | undefined;
    rv?: string | undefined;
}
export interface AuthenticationHeaderValue {
    Scheme?: string | undefined;
    Parameter?: string | undefined;
}
/** General abstract information about a BFA document */
export interface BFAAbstract {
    /** Project ID */
    Project: string;
    /** Project Name */
    ProjectName?: string | undefined;
    /** PA, BU, FC */
    BFAMode: string;
    /** Subtype description */
    SubtypeDescription?: string | undefined;
    /** Full name of current user  DescribeValue("sfUser") */
    UserName?: string | undefined;
    /** Full UserLogin of current user    */
    UserLogin?: string | undefined;
    /** Flex Key mask for projects DescribeValue("FlexKeyMask", "PROJECT") */
    ProjectIDMask?: string | undefined;
    /** Flex Key mask for projects DescribeValue("FlexKeyMask", "TASK") */
    WBCodeMask?: string | undefined;
    /** Flex Key mask for projects DescribeValue("FlexKeySeparator", "PROJECT") */
    ProjectSegmentSeparator?: string | undefined;
    /** Flex Key mask for projects DescribeValue("FlexKeySeparator", "TASK") */
    WBCodeSegmentSeparator?: string | undefined;
    /** Returns fiscal period from this document  */
    FiscalPeriodThisDocument?: string | undefined;
    /** Returns current fiscal period */
    FiscalPeriodCurrent?: string | undefined;
    /** For example 0TSK and its valid choices */
    SegmentLookups?: {
        [key: string]: {
            [key: string]: string;
        };
    } | undefined;
    /** Additional Name-Value Pairs */
    OtherProperties?: {
        [key: string]: any;
    } | undefined;
    /** Default for projected (Y/N)  */
    ProjectedDefault?: string | undefined;
    /** Default for forecast threshold */
    ForecastThreshold?: number;
    /** Default Cost Code Description */
    DefaultWBCodeDescription?: string | undefined;
    /** Count of Documents Matching this BFA mode */
    DocumentCount?: number;
    /** Count of Approved Documents matching this BFA mode */
    ApprovedCount?: number;
    /** UpdateMask */
    UpdateMask?: number;
    /** UpdateFlag (L if UpdateMask has bits 1 and 2; U otherwise) */
    UpdateFlag?: string;
    /** Doc Type Key for budget or forecast; See BudgetConfig | UDSSourceMode  */
    UDSSourceMode?: string | undefined;
    /** When true, BFA uses third group level; See BudgetConfig | Show3Groups */
    ShowThreeGroups?: boolean;
    /** When greater than zero, bit flags for each segment (1,2,4,8,16,32) */
    WBSRelaxValidation?: number;
    /** key of latest document matching this BFA mode */
    LatestDocumentKey?: string;
    /** Contract Value */
    ContractValue?: number;
    /** Revenue */
    Revenue?: number;
    /** Original Expense Budget Amount */
    OriginalExpenseBudget?: number;
    /** EAC budget amount */
    EACExpenseBudget?: number;
    /** eTag */
    ETag?: string | undefined;
}
export interface CacheControlHeaderValue {
    NoCache?: boolean;
    NoCacheHeaders?: string[] | undefined;
    NoStore?: boolean;
    MaxAge?: string | undefined;
    SharedMaxAge?: string | undefined;
    MaxStale?: boolean;
    MaxStaleLimit?: string | undefined;
    MinFresh?: string | undefined;
    NoTransform?: boolean;
    OnlyIfCached?: boolean;
    Public?: boolean;
    Private?: boolean;
    PrivateHeaders?: string[] | undefined;
    MustRevalidate?: boolean;
    ProxyRevalidate?: boolean;
    Extensions?: NameValueHeaderValue[] | undefined;
}
/** Information about catalog preset search settings */
export interface CatalogPreset {
    /** id of this set */
    SetId?: string | undefined;
    /** days ago (if not zero) default is 400; if GT 20000101, interpreted as YYYYMMDD
applies to DUE date filtering */
    CreatedSinceDaysAgo?: number;
    /** days ago (if not zero) default is 400; if GT 20000101, interpreted as YYYYMMDD
applies to DUE date filtering */
    DueSinceDaysAgo?: number;
    /** Doc/Process type key; sets the filter */
    DocTypeKey?: string;
    /** When a key, sets the FOLDER FILTER for the search  (JavaScript, SOP, etc) */
    FolderKey?: string | undefined;
    /** When a key, sets the FOLDER FILTER for the search  (JavaScript, SOP, etc) */
    FolderPath?: string | undefined;
    /** Default is Catalog; Alternative is D3 (Dynamic Document Descriptions) */
    FolderSource?: string | undefined;
    /** When a key, sets the filter specified by UserFilterName  */
    UserFilterKey?: string | undefined;
    /** Specifies the filter for UserFilterKey (ResponsibleParty, SourceContact) */
    UserFilterName?: string | undefined;
    /** File Name (sets filter) */
    FileName?: string | undefined;
    /** Status (sets filter) */
    Status?: string | undefined;
    /** when true, allows upload (defaults true when FolderKey is specified, false otherwise); see PresetSearch | FileDrop */
    AllowUpload?: boolean;
    /** when true, sets the special "include closed" filter */
    IncludeClosed?: boolean;
    /** when true, includes documents in the search result (sets hidden filter) */
    IncludeDocuments?: boolean;
    /** when true, includes Files in the search result (sets hidden filter) */
    IncludeFiles?: boolean;
    /** when true, shows the folder tree panel */
    ShowTree?: boolean;
    /** Subtype (sets filter) */
    Subtype?: string | undefined;
    /** Page Title */
    PageTitle?: string | undefined;
    /** Project or mask; if ends with ! then the most recently tracked project is used;  sets the project filter */
    Project?: string | undefined;
    /** Max load; default is 4000 */
    SearchLimit?: number;
    /** Automatically Refresh every n minutes; zero if off  */
    RefreshEveryMinutes?: number;
    /** for example: DocDate DESC, Title */
    SortOn?: string | undefined;
    /** When a key, sets hidden WithAttachedFile filter and requires a relationship with specified file */
    WithAttachedFile?: string | undefined;
    /** Locked Filters by name */
    LockedFilterNames?: string[] | undefined;
    /** scripts to load */
    JSIncludes?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
export interface CloudChange {
    ChangeTime?: string | undefined;
    id?: string | undefined;
    name?: string | undefined;
    parentId?: string | undefined;
    modifiedBy?: string | undefined;
    hash?: string | undefined;
    size?: number;
    type?: number;
    versionId?: string | undefined;
    removed?: boolean;
    WhenModified?: Date;
}
/** Attributes describing a choice defined in Code Maintenance - for context UI */
export interface CodeChoice {
    /** Name for a set of choices */
    SetName: string;
    /** Code */
    Code: string;
    /** Display Value  */
    Description: string;
    /** For cascading codes, names the next code set */
    NextSet?: string | undefined;
    /** True if code is still active */
    Active?: boolean;
    /** True if code is allowed for new records */
    OnAdd?: boolean;
    /** Code Flag - use varies by code set */
    CodeFlag?: boolean;
    /** eTag */
    ETag?: string | undefined;
}
/** Comment about a topic */
export interface Comment {
    /** Key for this comment */
    DocCommentKey: string;
    /** Key for the topic relating a group of comments */
    TopicKey: string;
    /** Key for the author of this comment */
    FromUser: string;
    /** Primary text of this comment */
    Note?: string | undefined;
    /** Primary amount */
    Cost?: number;
    /** Stage (as in document re-route stage; no known use cases) */
    Stage?: number;
    /** When this comment was created (editable given sufficient permission) */
    Created?: Date;
    /** custom amount */
    csAmount?: number;
    /** custom amount */
    csValue?: number;
    /** custom quantity */
    csQty?: number;
    /** custom whole number */
    csNumber?: number;
    /** custom Boolean */
    csCheck?: boolean;
    /** custom Boolean */
    csFlag?: boolean;
    /** custom note */
    csNote?: string | undefined;
    /** custom code (potential code list lookup) */
    csCode?: string | undefined;
    /** custom string */
    csString016?: string | undefined;
    /** custom string */
    csString030?: string | undefined;
    /** custom string */
    csString040?: string | undefined;
    /** custom string */
    csString050?: string | undefined;
    /** custom string */
    csString060?: string | undefined;
    /** custom string */
    csString080?: string | undefined;
    /** custom string */
    csString100?: string | undefined;
    /** custom string */
    csString120?: string | undefined;
    /** custom string */
    csString240?: string | undefined;
    /** custom key - usually for a person */
    csContactKey?: string | undefined;
    /** custom key */
    csKey?: string | undefined;
    /** custom date */
    csDate?: Date | undefined;
    /** custom date */
    csWhen?: Date | undefined;
    /** Collection of commands for this row */
    MenuCommands?: MenuAction[] | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes a contact */
export interface Contact {
    /** Key for this user/contact */
    UserKey?: string;
    /** Proper name for display - John Smith; replaces ~U placeholder in Salutation */
    UserName?: string | undefined;
    /** Login name */
    UserLogin?: string | undefined;
    /** Source of external authentication that points to this contact */
    FederatedIdentityInfo?: string | undefined;
    /** Smith for Jon Smith; corresponds to ~S salutation placeholder */
    SortName?: string | undefined;
    /** Jack for Jon Smith; corresponds to ~F salutation placeholder */
    FamiliarName?: string | undefined;
    /** Default is Dear ~U; placeholders: ~ F,S,U,C,T,R */
    Salutation?: string | undefined;
    /** Short description */
    Title?: string | undefined;
    /** Free form; replaces ~R placeholder in Salutation */
    Role?: string | undefined;
    /** Standard SMTP Email Address */
    EMail?: string | undefined;
    /** Phone typically aaa xxx ssss or + with international dialing string */
    phone?: string | undefined;
    /** Predominantly Obsolete */
    fax?: string | undefined;
    /** Mobile phone number */
    cell?: string | undefined;
    /** Gets phone designation  */
    pager?: string | undefined;
    /** free form; when various contacts match exactly, good things happen */
    Company?: string | undefined;
    /** First line of address */
    address?: string | undefined;
    /** Second line of address */
    address2?: string | undefined;
    /** City (for address) */
    city?: string | undefined;
    /** For Address */
    state?: string | undefined;
    /** Zipcode for address */
    zip?: string | undefined;
    /** Uses xsfCodeSet, not used in address */
    Country?: string | undefined;
    /** Applicable County / Organizational Juristiction (not used in address) */
    County?: string | undefined;
    /** EST, PST, etc */
    TimeZone?: string | undefined;
    /** Instant Messaging Service */
    IMService?: string | undefined;
    /** Instant Messaging Handle */
    IMHandle?: string | undefined;
    /** URL */
    WebURL?: string | undefined;
    /** Vendor Company ID */
    VendorID?: string | undefined;
    /** Weak link to Solomon */
    EmployeeID?: string | undefined;
    /** Emp, Vendor, Customer, Standard */
    ContactType?: string | undefined;
    /** External Contact ID (returns Vendor or Employee ID if that is the type, otherwise customer id  */
    ExternalID?: string | undefined;
    /** Web; E-mail; Fax; Hard Copy */
    RouteVia?: string | undefined;
    /** 1=Phone; 2=Cell; 3-Pager */
    ShowPhone?: number;
    /** Key to role that defines who can proxy for this contact */
    RouteeProxy?: string | undefined;
    /** A role with a responsibility */
    DefaultResponsibility?: string;
    /** Key to primary company */
    ContactCompanyKey?: string;
    /** HTML Markup for signature in templates */
    Signature?: string | undefined;
    /** Key to file in catalog that contains image */
    Likeness?: string | undefined;
    /** When TRUE, trigger updates address if company address changes */
    UseCompanyAddr?: boolean;
    /** When true, new projects are added to the dashboard automatically */
    ShowNewProjects?: boolean;
    /** When True, can log in to dashboard */
    sfUser?: boolean;
    /** When true, this contact is included in lookups  */
    IsPublic?: boolean;
    /** When false, this row is ignored and ineffective */
    Active?: boolean;
    /** When true, is also an integrated DSL User */
    SolomonUser?: boolean;
    /** When TRUE, expiration date is advanced each day the user logs in */
    SlidingExpiration?: boolean;
    /** When TRUE, user must change password */
    PWMustChange?: boolean;
    /** When TRUE, user can be locked out because of password age */
    PWAging?: boolean;
    /** Company Division ID */
    DivisionID?: string | undefined;
    /** Why user has been blocked */
    LockoutReason?: string | undefined;
    /** When a user does a contact lookup, they can only see contacts with an OrgLevel less than 1.112 times their own OrgLevel */
    OrgLevel?: number;
    /** Checksum of all externally syched data */
    SynchCheck?: number;
    /** Number of consecutive login failures (reset upon success) */
    FailedLoginRun?: number;
    /** Email notifications suppressed until this time */
    SuppressNotifyUntil?: Date | undefined;
    /** Set by data layer each time the user logs in */
    LastLogin?: Date | undefined;
    /** Date when password was last changed; can be null */
    LastPWChange?: Date | undefined;
    /** User cannot login until this time */
    LockedOutUntil?: Date | undefined;
    /** Date of Expiration for this account */
    Expiration?: Date | undefined;
    /** When entity was first recorded; read only */
    Created?: Date;
    /** true when this is the primary company contact */
    IsPrimary?: boolean;
    /** eTag */
    ETag?: string | undefined;
}
/** Various filters for contact search */
export interface ContactFilters {
    /** Name like */
    NameLike?: string | undefined;
    /** Email  */
    EmailLike?: string | undefined;
    /** Company like  */
    CompanyLike?: string | undefined;
    /** Location */
    LocationLike?: string | undefined;
    /** ID like (vendor, customer, employee IDs) */
    IDLike?: string | undefined;
    /** For Vendors, specified related CSI  */
    CSIListLike?: string | undefined;
    /** Phone Like (matches any phone number) */
    PhoneLike?: string | undefined;
    /** When true, result is limited to  */
    Users?: boolean;
    /** When true, result is limited to  */
    Customers?: boolean;
    /** When true, result is limited to  */
    Employee?: boolean;
    /** When true, result is limited to  */
    Public?: boolean;
    /** When true, result is limited to primary company contacts  */
    Company?: boolean;
    /** When true, result is limited to  */
    Vendors?: boolean;
    /** 1==Active;0==Inactive; 2==Both */
    ContactState?: number;
    /** UCRole Key, or use 00000000-0000-0000-0000-000000000000 for unspecified */
    RoleKey?: string | undefined;
    /** Use 00000000-0000-0000-0000-000000000000 for unspecified */
    UserKey?: string | undefined;
    /** Default 2000-01-01 */
    FromDate?: Date | undefined;
    /** Default today */
    ThruDate?: Date | undefined;
}
/** Summary information about a contact */
export interface ContactSummary {
    /** Link to user/contact */
    UserKey?: string;
    /** Proper name for display - John Smith; replaces ~U placeholder in Salutation */
    UserName?: string | undefined;
    /** Smith for Jon Smith; corresponds to ~S salutation placeholder */
    SortName?: string | undefined;
    /** Standard SMTP Email Address */
    Email?: string | undefined;
    /** Which phone is preferred */
    UsePhone?: string | undefined;
    /** Predominantly Obsolete */
    Fax?: string | undefined;
    /** When True, can log in to sfPMS */
    sfUser?: boolean;
    /** Emp, Vendor, Customer, Standard */
    ContactType?: string | undefined;
    /** Bit coded  */
    ContactFlags?: number;
    /** ID from external source (customer or vendor ID, revision or batch id) */
    ExternalID?: string | undefined;
    /** free form; when various contacts match exactly, good things happen */
    Company?: string | undefined;
    /** For Vendors, indicate related CSI  */
    CSIList?: string | undefined;
    /** When false, this row is ignored and ineffective */
    Active?: boolean;
    /** When true, there are no references to this contact */
    OkToDelete?: boolean;
    /** When true, this contact came from an external source */
    IsXTS?: boolean;
    /** When true, external changes to this contact are currently ignored */
    XTSBlockIn?: boolean;
    /** When true, changes to this contact are not being shared with external peer */
    XTSBlockOut?: boolean;
    /** When true, this is the company contact - not a person at the company */
    IsPrimary?: boolean;
    /** Key to mapping data for external source */
    TDKeyMapKey?: string;
    /** eTag */
    ETag?: string | undefined;
}
export interface ContentDispositionHeaderValue {
    DispositionType?: string | undefined;
    Parameters?: NameValueHeaderValue[] | undefined;
    Name?: string | undefined;
    FileName?: string | undefined;
    FileNameStar?: string | undefined;
    CreationDate?: Date | undefined;
    ModificationDate?: Date | undefined;
    ReadDate?: Date | undefined;
    Size?: number | undefined;
}
export interface ContentRangeHeaderValue {
    Unit?: string | undefined;
    From?: number | undefined;
    To?: number | undefined;
    Length?: number | undefined;
    HasLength?: boolean;
    HasRange?: boolean;
}
/** Key Value pairs of Keys and ETags */
export interface CurrentDataSummary {
    /** Key of Row/object */
    RowKey: string;
    /** ETag of Row/object  */
    ETag: string;
}
/** Attributes describing the currently authenticated user */
export interface CurrentUser {
    /** User Key */
    UserKey?: string;
    /** Login ID for user in name@domain.com or similar format */
    UserLoginName?: string | undefined;
    /** Full name, eg John M. Smithe */
    FullName?: string | undefined;
    /** Email Address */
    email?: string | undefined;
    /** True if user must change PW ASAP */
    PWMustChange?: boolean;
    /** Three character time zone designation */
    UserTimeZone?: string | undefined;
    /** +/- Time offset from server */
    TZOffset?: number;
    /** Password Aging is enabled for this user */
    PWAging?: boolean;
    /** Account expiration is enabled for this user if account is not regularly used */
    SlidingExpiration?: boolean;
    /** When true, the user is currently locked out */
    IsLockedOut?: boolean;
    /** When the current password will expire if PWAging is true */
    PWExpires?: Date | undefined;
    /** When this account will expire */
    Expiration?: Date | undefined;
    /** When IsLockedOut, the lockout lasts until this date and time */
    LockedOutUntil?: Date | undefined;
    /** Text why the user is locked out (suitable for display) */
    LockoutReason?: string | undefined;
    /** How many bad password attempts in a row */
    FailedLoginRun?: number;
    /** When true, this exact user ID is integrated with Accounting */
    SolomonUser?: boolean;
    /** When true, this is the users first interactive session */
    IsFirstLogin?: boolean;
    /** Current IIS Session ID */
    MasterSession?: string | undefined;
    /** Guid for this session in xsfUserSession  */
    UserSessionKey?: string;
    /** when true, stay in power ux */
    PrefersPowerUX?: boolean;
    /** When set, this is the last project tracked  */
    LastProject?: string | undefined;
    /** When set, this is the last project tracked  */
    JQTheme?: string | undefined;
    /** When set, Track feature use (google analytics */
    MonitorFeatureUse?: boolean;
    /** When set, this is the doc type that should be used as a default */
    PriorityDocType?: string;
    /** 0==off; 1 == track; 2==static */
    PriorityDocTypeMode?: number;
    /** URI for an image of this user */
    PictureURL?: string | undefined;
    /** hmmm */
    PDSKey?: string | undefined;
    /** This data is locked in memory */
    IsDSProtected?: boolean;
    /** User Menu items */
    menuActions?: MenuAction[] | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Returns data rows in three collections */
export interface DataDifferential {
    /** Collection of rows added (process last) */
    Add?: any[] | undefined;
    /** Collection of rows with new etags (replace) */
    Change?: any[] | undefined;
    /** Collection of keys removed (process first) */
    Remove?: string[] | undefined;
    /** The highest change stamp in the data */
    ChangeStamp?: number;
}
/** From and Thru dates */
export interface DateRange {
    /** Default 2000-01-01 */
    FromDate?: Date | undefined;
    /** Default is today */
    ThruDate?: Date | undefined;
}
/** A change to a system field value */
export interface DocAccessControl {
    /** Key of this item, for example ATCWFLog, DocDetail */
    UCName: string;
    /** Bit Coded RIUDS   */
    Permit?: number;
    /** When true, enabled */
    Enabled?: boolean;
    /** PK of related entity */
    keyValue?: string;
    /** optional additional information.  For example ATCWFLog places the log here */
    auxValue?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes an Docr Condition */
export interface DocAddress {
    /** Key for record */
    DocAddrKey?: string;
    /** To or From */
    AddrType?: string | undefined;
    /** User/Contact(Customer, Vendor), or Manual */
    SourceType?: string | undefined;
    /** When TRUE the corresponding AddrType from the Project Setup is copied here and becomes read only */
    UseSource?: boolean;
    /** Link to user/contact */
    UserKey?: string;
    /** Free form, typically a name */
    Person?: string | undefined;
    /** free form; when various contacts match exactly, good things happen */
    Company?: string | undefined;
    /** First line of address */
    Addr1?: string | undefined;
    /** Second line of address */
    Addr2?: string | undefined;
    /** City (for address) */
    City?: string | undefined;
    /** For Address */
    State?: string | undefined;
    /** Zipcode for address */
    Zip?: string | undefined;
    /** Phone typically aaa xxx ssss or + with internaltional dialing string */
    Phone?: string | undefined;
    /** Predominantly Obsolete */
    Fax?: string | undefined;
    /** Standard SMTP Email Address */
    Email?: string | undefined;
    /** Freeform and Informational. Intended for External contacts project reference */
    ContactProject?: string | undefined;
    /** Descriptive name */
    RoleName?: string | undefined;
    /** Short description */
    Title?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
    /** Collection of commands for this row */
    MenuCommands?: MenuAction[] | undefined;
}
/** Describes an DocAttachedFile */
export interface DocAttachment {
    /** Key of this attachment */
    DocAttachKey?: string;
    /** Optional: Key for attached file */
    DocKey?: string;
    /** Optional: references another routed document */
    AttachedDocMaster?: string;
    /** Weak Link to an item */
    LinkedItemKey?: string;
    /** Resolved to item number of key  */
    AttachedItemNumber?: string | undefined;
    /** Free form */
    Note?: string | undefined;
    /** Links to a user/contact  */
    FromUser?: string;
    /** Indicates route that attached this to the document */
    FromRouteID?: string;
    /** Typically when entity was first recorded; some users may be able to override for some entities */
    Created?: Date;
    /** Current Revision Number when attached */
    AttachedRevID?: number;
    /** View or Update */
    AccessLevel?: string | undefined;
    /** Indicates how this attachment is sent to non-web route parties, eg: 0=never;1=always;M=Assembled;P=PDF (see code set!) */
    MailRoute?: string | undefined;
    /** Controls order of attachments in merges and emails, etc */
    AttachSeq?: number;
    /** When specified, Limits this rule to documents with matching Reference. */
    DocReference?: string;
    /** Category (Scanned Invoice;Site Photo) */
    CatType?: string;
    /** Status code */
    Status?: string | undefined;
    /** Resolves to cost impact carried by the attachment */
    CostImpact?: number;
    /** Resolves to responsible name of the attachment */
    ResponsibleName?: string | undefined;
    /** Code for Relationship type of attachment */
    RelationshipType?: string | undefined;
    /** Indicates the "folder" where the resource resides */
    ContainerKey?: string;
    /** free form; Text Indexed */
    FileName?: string | undefined;
    /** Free form; text indexed */
    keyword?: string | undefined;
    /** Free format keywords */
    Other?: string | undefined;
    /** External reference number; text indexed */
    SourceDocNo?: string | undefined;
    /** Optional; Text Indexed */
    SourceBatchNo?: string | undefined;
    /** Date of source attachment */
    ReferenceDate?: Date;
    /** TIF/DOC/JPG etc */
    FileType?: string | undefined;
    /** ID of Project (suitable for use as a key) */
    Project?: string | undefined;
    /** Company Division ID */
    DivisionID?: string | undefined;
    /** link to contact/user; the source  */
    SourceContact?: string;
    /** Approved Revision ID  */
    ApprRevID?: number;
    /** Most recent Revision ID  */
    LastRevID?: number;
    /** External reference */
    SourceRevision?: string | undefined;
    /** MD5 hash, combined with length and used for duplicate detection */
    DataHash?: string | undefined;
    /** Date and time cataloged  */
    Cataloged?: Date;
    /** Size of native binary data, regardless of current Data storage Method */
    BinSize?: number;
    /** Internal document, output of a routed document */
    sfGenerated?: boolean;
    /** If sfGenerated and current document is ByDocMaster and this field is true, bookmarks are refreshed */
    RefreshBookmarks?: boolean;
    /** When True, e-signature tabs have been detected */
    HasSignTabs?: boolean;
    /** When true, access is strictly restricted */
    Confidential?: boolean;
    /** When true, this attachment is a mirror of the attachment on the other doc */
    IsInherited?: boolean;
    /** When TRUE (default), file is elligible for cloud sync */
    CloudSync?: boolean;
    /** When true, inbound changes are blocked */
    CloudBlockIn?: boolean;
    /** When true, outbound changes are blocked */
    CloudBlockOut?: boolean;
    /** was the file was last synchronized inbound (R) or outbound (S) */
    LastSyncDir?: string | undefined;
    /** When the file was last synchronized with the cloud storage */
    LastSync?: Date;
    /** Key of XTS mapping */
    TDKeyMapKey?: string;
    DocLinks?: number;
    RCLinks?: number;
    /** Key of user that has this attachment checked out */
    CheckOutUser?: string;
    /** Code of current check out status (O==Out; L==Locked, etc) */
    CheckOutStatus?: string | undefined;
    /** When checked out */
    CheckedOut?: Date;
    /** When checked in */
    CheckedIn?: Date;
    /** When checked out will expire on its own */
    Expires?: Date;
    /** eTag */
    ETag?: string | undefined;
    /** Collection of commands for this row */
    MenuCommands?: MenuAction[] | undefined;
}
/** Describes an DocInstruction Condition */
export interface DocAttribute {
    /** Key for this attribute */
    DocAttributeKey?: string;
    /** Owner of this attribute (DocMasterKey, UserKey) */
    AttrOwnerKey?: string;
    /** Indicates the set of attributes from which this row was derived */
    AttrType?: string | undefined;
    /** Specifies the specific attribute of the set */
    AttrValue?: string | undefined;
    /** Reference to contract paragraph */
    Paragraph?: string | undefined;
    /** External reference to Contract. */
    Specification?: string | undefined;
    /** Amount */
    Amount?: number;
    /** pjcosubd.change_units */
    Quantity?: number;
    /** Decimal Value.  Do not confuse with AttrValue! */
    Value?: number;
    /** Free form explaination or generic description (!!!) */
    Description?: string | undefined;
    /** Free form */
    Note?: string | undefined;
    /** Free form */
    Recorded?: Date;
    /** Set by the data layer each time ItemStatus changes */
    Reviewed?: Date;
    /** Collection of commands for this row */
    MenuCommands?: MenuAction[] | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes an DocCompliance Condition */
export interface DocCompliance {
    /** Key for this compliance item */
    ComplianceItemKey?: string;
    /** Reference to compliance type */
    ComplianceTypeKey?: string;
    /** Read only Weak reference xsfUser; set by data layer each time a user changes the Released column value */
    LastReleasedBy?: string;
    /** Reference to document to notifiy party about compliance issue */
    NotificationDocKey?: string;
    /** Free form explaination or generic description (!!!) */
    Description?: string | undefined;
    /** Informational */
    Carrier?: string | undefined;
    /** Brief description of last compliance item */
    LastReason?: string | undefined;
    /** See Code List "Recur" */
    Recurs?: string | undefined;
    /** If pay control is being enforced  */
    PayControl?: string | undefined;
    /** No longer used */
    CertificateReqd?: boolean;
    /** OUTPUT of compliance engine. When true, this item was deemed in compliance at last evaluation */
    Complied?: boolean;
    /** When true, this compliance item can generate alerts and notifications */
    Alerts?: boolean;
    /** When false, this row is ignored and ineffective */
    Active?: boolean;
    /** Applied to comparison of current date and expiration to resolve "expires soon" */
    LeadDays?: number;
    /** Amount; Optionally compared to total current subcontract amount to determine compliance */
    Amount?: number;
    /** Out of compliance when this date is compared to the Subcontract Current Start Date */
    Effective?: Date | undefined;
    /** Date of Expiration  */
    Expiration?: Date | undefined;
    /** Only editable if type has AllowProof set true.?? When NULL, defaults to the parent document due date */
    RequiredBy?: Date | undefined;
    /** When this field is set, the item is in compliance. Period! */
    Released?: Date | undefined;
    /** Only editable if type has AllowProof set true */
    Received?: Date | undefined;
    /** When Alert was generated */
    LastAlertWas?: Date | undefined;
    /** For recurring alerts: set to indicate the next point in time that alerts will be considered */
    NextAlertAfter?: Date | undefined;
    /** When true, this date type is automatically added to any document to which it applies */
    IsRequired?: boolean;
    /** Display name of compliance type */
    ComplianceName?: string | undefined;
    /** When true, this compliance item is dynamically evaluated by the system */
    AutoControl?: boolean;
    /** When true, the description field is editable */
    AllowDescription?: boolean;
    /** Track carrier field on compliance items */
    AllowCarrier?: boolean;
    /** When true, the RequiredBy and Received compliance fields are editable */
    AllowProof?: boolean;
    /** Track amount */
    AllowAmount?: boolean;
    /** Track effective date */
    AllowEffective?: boolean;
    /** Track expiration date */
    AllowExpiration?: boolean;
    /** Track lead days on items */
    AllowLeadDays?: boolean;
    /** Not used! */
    AllowRecurs?: boolean;
    /** Allows multiple compliance items of the same type */
    AllowMultiple?: boolean;
    /** Readonly Number of comment entries for this item; usually zero */
    CommentCount?: number;
    /** Collection of commands for this row */
    MenuCommands?: MenuAction[] | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes a Date (start and finish) on a document */
export interface DocDate {
    /** Key of row */
    DocDateRowKey?: string;
    /** Key of date type */
    DocDateTypeKey?: string;
    /** Display sequence (by name within sequence) */
    Sequence?: number;
    /** Date type requests start  */
    IncludeStart?: boolean;
    /** Date type requests finish */
    IncludeFinish?: boolean;
    /** When true, this date type is automatically added to any document to which it applies */
    IsRequired?: boolean;
    /** Default lead time in days */
    LeadTime?: number;
    /** When start is anticipated */
    SchedStart?: Date | undefined;
    /** When finish is anticipated */
    SchedFinish?: Date | undefined;
    /** When actually started */
    ActStart?: Date | undefined;
    /** When Actually finished */
    ActFinish?: Date | undefined;
    /** The whole number of days between ActStart and ActFinish; read only. */
    DaysBetween?: number;
    /** Free form */
    Note?: string | undefined;
    /** When true, this date is "done" */
    IsDone?: boolean;
    /** Amount, for custom use */
    csAmount?: number;
    /** for custom use */
    csValue?: number;
    /** for custom use */
    csQty?: number;
    /** for custom use */
    csNumber?: number;
    /** for custom use */
    csCheck?: boolean;
    /** for custom use */
    csFlag?: boolean;
    /** for custom use */
    csNote?: string | undefined;
    /** Custom Code */
    csCode?: string | undefined;
    /** String for custom use */
    csString016?: string | undefined;
    /** String for custom use */
    csString030?: string | undefined;
    /** String for custom use */
    csString040?: string | undefined;
    /** String for custom use */
    csString050?: string | undefined;
    /** String for custom use */
    csString060?: string | undefined;
    /** String for custom use */
    csString080?: string | undefined;
    /** String for custom use */
    csString100?: string | undefined;
    /** String for custom use */
    csString120?: string | undefined;
    /** String for custom use */
    csString240?: string | undefined;
    /** for custom use */
    csContactKey?: string;
    /** for custom use */
    csKey?: string;
    /** date, for custom use */
    csDate?: Date | undefined;
    /** for custom use */
    csWhen?: Date | undefined;
    /** Collection of commands for this row */
    MenuCommands?: MenuAction[] | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes new value for a document field */
export interface DocFieldChange extends APIData {
    /** table */
    DataMember?: string | undefined;
    /** field */
    DataField?: string | undefined;
    /** Identifies which row in the specified data member */
    InstanceKey?: string | undefined;
}
/** Describes an DocInclusion Condition */
export interface DocInclusion {
    /** Key to this contract annotation */
    InclusionKey?: string;
    /** See code list */
    ItemType?: string | undefined;
    /** Numeric Identifier  */
    ItemNumber?: string | undefined;
    /** Reference to contract paragraph */
    Paragraph?: string | undefined;
    /** Custom Code */
    csCode?: string | undefined;
    /** String for custom use */
    csString016?: string | undefined;
    /** String for custom use */
    csString030?: string | undefined;
    /** String for custom use */
    csString040?: string | undefined;
    /** String for custom use */
    csString050?: string | undefined;
    /** String for custom use */
    csString060?: string | undefined;
    /** String for custom use */
    csString080?: string | undefined;
    /** String for custom use */
    csString100?: string | undefined;
    /** String for custom use */
    csString120?: string | undefined;
    /** String for custom use */
    csString240?: string | undefined;
    csNote?: string | undefined;
    /** Amount, for custom use */
    csAmount?: number;
    csValue?: number;
    csQty?: number;
    csNumber?: number;
    /** date, for custom use */
    csDate?: Date;
    csWhen?: Date;
    /** for custom use */
    csCheck?: boolean;
    csFlag?: boolean;
    csContactKey?: string;
    csKey?: string;
    /** FreeForm */
    ItemText?: string | undefined;
    /** Collection of commands for this row */
    MenuCommands?: MenuAction[] | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes an DocItem Condition */
export interface DocItem {
    /** Key of this item */
    DocItemKey: string;
    /** Read only Number of task entries for this item; often 1 */
    TaskCount?: number;
    /** Readonly Number of comment entries for this item; often zero */
    CommentCount?: number;
    /** Readonly Number of links to other documents (links are added to MenuCommand "links") */
    readonly LinkCount?: number;
    /** Parent revision to which this item belongs */
    ItemRevisionMap?: DocItemMap | undefined;
    /** collection of financial details for this item, often 1-1  */
    DocItemTask?: DocItemTask[] | undefined;
    /** collection of financial details for this item from related family of documents (often commitment), often zero, max 1 */
    RelatedLineDetails?: RelatedItemDetail | undefined;
    /** Key for contact consisdered the Responsible Party.  Filterable.  Contacts with matching company name gets increased access to item */
    ResponsibleParty?: string;
    /** Weak link to another Spitfire Document. */
    LinkedDocKey?: string;
    /** Weak Link to another item */
    LinkedItemKey?: string;
    /** Key to global reference  */
    UniReferenceKey?: string;
    /** References user/contact; Set by data layer when related status changes */
    LastStatusBy?: string;
    /** Key Reference user/contact */
    Approver?: string;
    /** References user/contact */
    Author?: string;
    /** Free form explaination or generic description (!!!) */
    Description?: string | undefined;
    /** Assigned  */
    DrawingNumber?: string | undefined;
    /** Auto-increment revision number */
    RevisionNumber?: string | undefined;
    /** Reference to contract paragraph */
    Paragraph?: string | undefined;
    /** External reference to Contract. */
    Specification?: string | undefined;
    /** Validated against xsfDocTypeSubcodes.?? Checked against rule DocItemStatusIsClosed. */
    ItemStatus?: string | undefined;
    /** Code defined in DocType specific list */
    ItemSource?: string | undefined;
    /** References code set ItemType */
    ItemType?: string | undefined;
    /** Code defined in DocType specific list */
    ItemSubtype?: string | undefined;
    /** References code set ItemSubType (can cascade choices from ItemType above) */
    Drawings?: string | undefined;
    /** Code defined in DocType specific list */
    Samples?: string | undefined;
    /** Code defined in DocType specific list */
    ProductData?: string | undefined;
    /** Code defined in DocType specific list */
    TestReport?: string | undefined;
    /** Code defined in DocType specific list */
    MixDesign?: string | undefined;
    /** Code defined in DocType specific list */
    Schedule?: string | undefined;
    /** Code defined in DocType specific list */
    FieldMockup?: string | undefined;
    /** Code defined in DocType specific list */
    Guarantee?: string | undefined;
    /** Code defined in DocType specific list */
    Certification?: string | undefined;
    /** Code defined in DocType specific list */
    Evaluation?: string | undefined;
    /** Code defined in DocType specific list */
    Shop?: string | undefined;
    /** External reference number of this item. */
    SourceItemNumber?: string | undefined;
    /** External reference initial number of this item. */
    SourceInitialNumber?: string | undefined;
    /** Architec Number (initial) */
    ArchitectInitialNumber?: string | undefined;
    /** Architec Number (revised) */
    ArchitectItemNumber?: string | undefined;
    /** weak link to SOV Line */
    SOVLineNumber?: string | undefined;
    /** Free form */
    Manufacturer?: string | undefined;
    /** Free form */
    Supplier?: string | undefined;
    /** Cost Code to which revenue is posted. */
    RevenueEntity?: string | undefined;
    /** Initialized to current stage when added */
    Stage?: number;
    /** Money - Completed Work Retention */
    CWRetention?: number;
    /** Money - Stored Material Retention */
    SMRetention?: number;
    /** Original Estimate (of cost) */
    OriginalEstimate?: number;
    /** Original Quote (of revenue, to customer) */
    OriginalQuote?: number;
    /** Quantity - see UOM in item task extension */
    ItemQuantity?: number;
    /** when true, is billable/included */
    Billable?: boolean;
    /** Date Started */
    Started?: Date | undefined;
    /** Date Ssubmitted */
    Submitted?: Date | undefined;
    /** Date Requested */
    Requested?: Date | undefined;
    /** Only editable if type has AllowProof set true */
    Received?: Date | undefined;
    /** Set by the data layer each time ItemStatus changes */
    Reviewed?: Date | undefined;
    /** Date (and sometimes Time) by which action is required */
    Due?: Date | undefined;
    /** Date Completed */
    Completed?: Date | undefined;
    /** reference to Revision that includes this item */
    ItemRevKey?: string;
    /** Key to container for this item; seldom used */
    ItemFolderKey?: string;
    /** Reference to user/contact */
    ItemFromUser?: string;
    /** Echoes Item number for convienience; see Item Revision */
    DocItemNumber?: string | undefined;
    /** When Created  */
    ItemCreated?: Date;
    /** Read Only: when true, this item is a copy from a register */
    IsRegisterDoc?: boolean;
    /** When from register, this is the number of the item from the register */
    ItemRegisterNumber?: string | undefined;
    /** Hmm */
    ItemIsShared?: boolean;
    /** Hmm */
    ResponsibleNow?: string;
    /** Hmm */
    ResponsibleCommon?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
    /** Collection of commands for this row */
    MenuCommands?: MenuAction[] | undefined;
}
/** Describes an DocItemComment Condition */
export interface DocItemComment {
    /** key for this comment */
    DocCommentKey?: string;
    /** Links to a user/contact  */
    FromUser?: string;
    /** Free form */
    Note?: string | undefined;
    /** free form */
    Cost?: number;
    /** Initialized to current stage when added */
    Stage?: number;
    /** Typically when entity was first recorded; some users may be able to override for some entities */
    Created?: Date;
    /** Amount, for custom use */
    csAmount?: number;
    /** for custom user */
    csValue?: number;
    /** for custom user */
    csQty?: number;
    /** for custom user */
    csNumber?: number;
    /** for custom use */
    csCheck?: boolean;
    /** for custom user */
    csFlag?: boolean;
    /** for custom user */
    csNote?: string | undefined;
    /** Custom Code */
    csCode?: string | undefined;
    /** String for custom use */
    csString016?: string | undefined;
    /** String for custom use */
    csString030?: string | undefined;
    /** String for custom use */
    csString040?: string | undefined;
    /** String for custom use */
    csString050?: string | undefined;
    /** String for custom use */
    csString060?: string | undefined;
    /** String for custom use */
    csString080?: string | undefined;
    /** String for custom use */
    csString100?: string | undefined;
    /** String for custom use */
    csString120?: string | undefined;
    /** String for custom use */
    csString240?: string | undefined;
    /** for custom user */
    csContactKey?: string;
    /** for custom user */
    csKey?: string;
    /** date, for custom use */
    csDate?: Date;
    /** for custom user */
    csWhen?: Date;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes an DocRevItem Condition */
export interface DocItemMap {
    /** When DocRevItemKey = DocItemKey, this is the doc revision that created the item */
    DocRevItemKey?: string;
    /** Links to item */
    DocItemKey?: string;
    /** Indicates the "folder" where the resource resides */
    ContainerKey?: string;
    /** Links to a user/contact  */
    FromUser?: string;
    /** Numeric Identifier  */
    ItemNumber?: string | undefined;
    /** Display Sequence (can be overriden by UI CFG) */
    ItemSeq?: number;
    /** Typically when entity was first recorded; some users may be able to override for some entities */
    Created?: Date;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes an DocItemTask Condition */
export interface DocItemTask {
    /** When ItemTaskKey = DocItemKey, this is the primary (or single) extention to the corresponding item */
    ItemTaskKey?: string;
    /** Key to another document */
    LinkedLineKey?: string;
    /** Weak link to RFQ */
    LinkedRFQKey?: string;
    /** Links this line to its commitment cost changes (a CCO or Commitment document) */
    LinkedCCCKey?: string;
    /** WB Task Code  */
    ProjEntity?: string | undefined;
    /** Read only Description of Cost Code */
    readonly ProjEntityDescription?: string | undefined;
    /** Work Breakdown Account (Labor, Materials, Equipment, etc) */
    AccountCategory?: string | undefined;
    /** Reference to related subcontract  */
    Subcontract?: string | undefined;
    /** Subcontract Change Order system assigned - Unique by Subcontract */
    SubChangeOrder?: string | undefined;
    /** Via xsfCodeList, set TaskCostType - Self Perform, SCO, etc */
    CostType?: string | undefined;
    /** Weak link to accounting GL Account */
    GLAcct?: string | undefined;
    /** Weak link to Accounting GL Subaccount */
    GLSub?: string | undefined;
    /** Code of Labor Class  */
    LaborClass?: string | undefined;
    /** Code for Unit of Measure (from Code List, set UOM) */
    UOM?: string | undefined;
    /** None or % of Total(TL) */
    RetentionMethod?: string | undefined;
    /** Weak link to Solomon Vendor; Primarily used for splitting SPR payments amounts */
    Vendor?: string | undefined;
    /** Used for documents that distribute across projects */
    ProjectReference?: string | undefined;
    /** Used for Retention Percent if RetentionMethod is TL */
    ItemPercent?: number;
    /** pjcosubd.change_units */
    Quantity?: number;
    /** Calculated, but editable */
    RevenueAmount?: number;
    Rate?: number;
    /** defaults to Amount, but is editable */
    ExpenseAmount?: number;
    /** Material part of RevenueAmount */
    StoredAmount?: number;
    /** Labor part of RevenueAmount */
    WorkAmount?: number;
    /** Amount of total that goes to retention; Note that only the primary vendor on a subcontract has retention */
    RetentionAmount?: number;
    SMRetentionAmount?: number;
    /** 62 SOVMaterials 54 Total labor value on SOV; */
    SOVWork?: number;
    /** Total material value on SOV */
    SOVMaterials?: number;
    MarkupRate?: number;
    /** Amount, for custom use */
    csAmount?: number;
    csValue?: number;
    csQty?: number;
    csNumber?: number;
    /** When true, auto markup calculation for RevenueAmount is suppressed */
    MarkupControl?: boolean;
    /** for custom use */
    csCheck?: boolean;
    csFlag?: boolean;
    /** Free form */
    Note?: string | undefined;
    csNote?: string | undefined;
    /** Custom Code */
    csCode?: string | undefined;
    /** String for custom use */
    csString016?: string | undefined;
    /** String for custom use */
    csString030?: string | undefined;
    /** String for custom use */
    csString040?: string | undefined;
    /** String for custom use */
    csString050?: string | undefined;
    /** String for custom use */
    csString060?: string | undefined;
    /** String for custom use */
    csString080?: string | undefined;
    /** String for custom use */
    csString100?: string | undefined;
    /** String for custom use */
    csString120?: string | undefined;
    /** String for custom use */
    csString240?: string | undefined;
    csContactKey?: string;
    csKey?: string;
    /** date, for custom use */
    csDate?: Date;
    csWhen?: Date;
    /** Typically when entity was first recorded; some users may be able to override for some entities */
    Created?: Date;
    LinkedEstimate?: number;
    LinkedQuote?: number;
    LinkedExpense?: number;
    LinkedLines?: number;
    LinkedContact?: string;
    LinkedRFQSC?: string | undefined;
    LinkedStatus?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Document Header information for a process */
export interface DocMasterDetail {
    /** Identifies a Document */
    DocMasterKey?: string;
    /** References a Document Process Type */
    DocTypeKey?: string;
    /** Site Name of Doc Type Process */
    DocTypeKey_dv?: string | undefined;
    /** When specified, Limits this rule to documents with matching Reference. */
    DocReference?: string;
    /** Updatable; see also xsfDocRevision.Created */
    DocDate?: Date;
    /** References base document, based upon DocType */
    DocNo?: string | undefined;
    /** External reference number; text indexed */
    SourceDocNo?: string | undefined;
    /** free form, reference to external number */
    ExternalDocNo?: string | undefined;
    /** With DocNo, references base document */
    DocBatchNo?: string | undefined;
    /** Short description */
    Title?: string | undefined;
    /** Code Reference */
    Source?: string | undefined;
    /** 1 is highest, increasing value decreases priority */
    Priority?: number;
    /** Number to send */
    NumToSend?: number;
    /** Number to forward  */
    NumToForward?: number;
    /** numeric probability. valid values 0 to 100 */
    Probability?: number;
    /** When TRUE, Spitfire can replace the title automatically */
    AutoTitled?: boolean;
    /** When true, access is strictly restricted */
    Confidential?: boolean;
    /** When TRUE, those with permission can edit the document */
    DocEdit?: boolean;
    /** when true, something is final (often used for final payment, etc) */
    Final?: boolean;
    /** Used on Vendor Maintenance documents */
    DocFlag?: boolean;
    /** Date (and sometimes Time) by which action is required */
    Due?: Date;
    /** When NULL, this document is open;?? date is set when document status is set to a status enumerated in the DocStatusIsClosed rule */
    Closed?: Date;
    /** Own Signature Date or Manager's Approved Date */
    Signoff?: Date;
    /** For example, invoice date of pay request */
    SourceDate?: Date;
    /** Weak link to another Spitfire Document. */
    LinkedDocKey?: string;
    /** key to global reference */
    UniReferenceKey?: string;
    /** Key for contact considered the Responsible Party.  Often used for "Ball In Court".  Can be used as a filter */
    ResponsibleParty?: string;
    /** (Read only) Resolved name of Responsible Party */
    ResponsibleParty_dv?: string | undefined;
    /** link to contact/user; the source  */
    SourceContact?: string;
    /** Validated in Contact Table */
    OwnerApprover?: string;
    /** References user/contact; Set by data layer when related status changes */
    LastStatusBy?: string;
    /** Predefined route last resolved */
    LastRouteKey?: string;
    /** Status code */
    Status?: string | undefined;
    /** Resolved Status description */
    Status_dv?: string | undefined;
    /** list of choices for Status */
    StatusChoices?: Suggestion[] | undefined;
    /** Code (see doc type subcode maintenance) */
    Subtype?: string | undefined;
    /** FP/TM etc as site defined in xsfDocTypeSubcodes */
    ContractType?: string | undefined;
    /** xsfDocTypeSubcodes - user-defined; Formerly RejectCode */
    Reason?: string | undefined;
    /** Numeric area - units implied by SOP */
    Area?: number;
    /** Numeric duration - units implied by SOP */
    Duration?: number;
    /** Bit Mask:Orig/Bid(1); EAC(2); FAC(4) */
    UpdateMask?: number;
    /** list of choices for UpdateMask */
    UpdateMaskChoices?: Suggestion[] | undefined;
    /** 0=off;1=retry;2=refreshing; see kba */
    RouteFlags?: number;
    /** free form  */
    Location?: string | undefined;
    /** External payment authorization number */
    PayItemNumber?: string | undefined;
    /** Company Division ID */
    DivisionID?: string | undefined;
    /** ID of Project (suitable for use as a key) */
    Project?: string | undefined;
    /** Project Display Value */
    Project_dv?: string | undefined;
    /** WB Task Code  */
    ProjEntity?: string | undefined;
    /** External reference to Contract. */
    Specification?: string | undefined;
    /** Budget Revision Copy of Budget Revision ID */
    BudgetRevFlag?: string | undefined;
    /** ERP systems: weak link to pjbillcn.itemnbr */
    SOVItemNumber?: string | undefined;
    /** freeform */
    Section?: string | undefined;
    /** Reference to related subcontract  */
    SubContract?: string | undefined;
    /** If pay control is being enforced  */
    PayControl?: string | undefined;
    /** Links to a user/contact  */
    FromUser?: string;
    /** read only indicator of the number of stages currently in the route */
    MaxStage?: number;
    /** read only indicator of the number of revisions currently in the document */
    MaxRevNo?: number;
    /** Currently selected document revision */
    DocRevKey?: string;
    /** List of Document Revisions */
    DocRevKeyChoices?: Suggestion[] | undefined;
    /** Read only key for document session */
    DocSessionKey?: string;
    /** Current Route sequence (null if past end of route) */
    CurrentSeq?: number;
    /** References Subtype on Project Setup */
    ProjectSubtype?: string | undefined;
    /** when true, XTS applies */
    IsXTS?: boolean;
    /** when true, XTS inbound updates are disabled */
    XTSBlockIn?: boolean;
    /** when true, XTS pushes are disabled */
    XTSBlockOut?: boolean;
    /** when XTS, mapping key */
    TDKeyMapKey?: string;
    /** Key to user currently editing  */
    EditUser?: string;
    /** read only summary of compliance state - if type has compliance enabled */
    ComplianceInfo?: string | undefined;
    /** readonly Summary of attachment state  */
    AttachmentInfo?: string | undefined;
    /** Revision Number - System Generated */
    RevNo?: number;
    /** Free form explanation or generic description (!!!) */
    Description?: string | undefined;
    /** Scheduled Impact Requested in Days */
    DaysRequested?: number;
    /** Scheduled Impact Approved */
    DaysApproved?: number;
    /** Amount of Completed Work Retention */
    CWRetention?: number;
    /** Amount of Stored Material Retention */
    SMRetention?: number;
    /** Cost Impact - often computed by a configurable formula summarizing the items */
    CostImpact?: number;
    RangeFrom?: number;
    RangeThru?: number;
    Bond?: number;
    BondRate?: number;
    /** 8.25% as .0825 */
    TaxRate?: number;
    /** Code defined in DocType specific list */
    Segment?: string | undefined;
    /** Code defined in DocType specific list */
    Subsegment?: string | undefined;
    /** Link to external document  */
    DraftNumber?: string | undefined;
    /** Architect's Project (External Reference) */
    ArchProject?: string | undefined;
    /** Tax ID code */
    TaxID?: string | undefined;
    /** Codes assigned by Spitfire with special handling for Tax Included, Tax Added, No Tax */
    TaxHandling?: string | undefined;
    /** YYYYMM */
    InPeriod?: string | undefined;
    /** Free format notes */
    Notes?: string | undefined;
    /** Free format notes */
    NoteA?: string | undefined;
    /** Free format notes */
    NoteB?: string | undefined;
    /** Free format notes */
    NoteEML?: string | undefined;
    /** Subject for Email generated (See ATC: EMAIL workflow) */
    EmailSubject?: string | undefined;
    /** Amount, for custom use */
    csAmount?: number;
    /** for custom use */
    csValue?: number;
    /** for custom use */
    csQty?: number;
    /** for custom use */
    csNumber?: number;
    /** date, for custom use */
    csDate?: Date;
    /** for custom use */
    csWhen?: Date;
    /** String for custom use */
    csString016?: string | undefined;
    /** String for custom use */
    csString030?: string | undefined;
    /** String for custom use */
    csString040?: string | undefined;
    /** String for custom use */
    csString050?: string | undefined;
    /** String for custom use */
    csString060?: string | undefined;
    /** String for custom use */
    csString080?: string | undefined;
    /** String for custom use */
    csString100?: string | undefined;
    /** String for custom use */
    csString120?: string | undefined;
    /** String for custom use */
    csString240?: string | undefined;
    /** for custom use */
    csNote?: string | undefined;
    /** Custom Code */
    csCode?: string | undefined;
    /** for custom use */
    csContactKey?: string;
    /** for custom use */
    csKey?: string;
    /** for custom use */
    csCheck?: boolean;
    /** for custom use */
    csFlag?: boolean;
    /** Version of SFPMS when revision created (4.1 and later) */
    sfVersion?: number;
    /** Typically when entity was first recorded; some users may be able to override for some entities */
    Created?: Date;
    /** When true, a financial snapshot exists for this Revision Key */
    HasBFASS?: boolean;
    /** Update Timestamps (for change detection) */
    ChangeTimestamps?: {
        [key: string]: number;
    } | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes an DocMeetingAttendee Condition */
export interface DocMeetingAttendee {
    /** Key for this attendee */
    AttendeeKey?: string;
    /** Link to user/contact */
    UserKey?: string;
    /** Weak Link to another item */
    LinkedItemKey?: string;
    /** Attendee Name */
    AttendeeName?: string | undefined;
    /** Reference to Item number */
    Reference?: string | undefined;
    /** Free form  */
    Purpose?: string | undefined;
    /** Amount */
    Amount?: number;
    /** Amount, for custom use */
    csAmount?: number;
    csValue?: number;
    csQty?: number;
    csNumber?: number;
    Resolved?: Date;
    /** date, for custom use */
    csDate?: Date;
    csWhen?: Date;
    /** String for custom use */
    csString016?: string | undefined;
    /** String for custom use */
    csString030?: string | undefined;
    /** String for custom use */
    csString040?: string | undefined;
    /** String for custom use */
    csString050?: string | undefined;
    /** String for custom use */
    csString060?: string | undefined;
    /** String for custom use */
    csString080?: string | undefined;
    /** String for custom use */
    csString100?: string | undefined;
    /** String for custom use */
    csString120?: string | undefined;
    /** String for custom use */
    csString240?: string | undefined;
    csNote?: string | undefined;
    /** Custom Code */
    csCode?: string | undefined;
    csContactKey?: string;
    csKey?: string;
    Present?: boolean;
    /** When TRUE, auto copied to next meeting */
    IsRegular?: boolean;
    /** for custom use */
    csCheck?: boolean;
    csFlag?: boolean;
    /** Free form */
    Note?: string | undefined;
    /** Collection of commands for this row */
    MenuCommands?: MenuAction[] | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes a sequenced recipient in a document route */
export interface DocRoute {
    /** associates the row with a specific doc route */
    RouteID?: string;
    /** Link to user/contact */
    UserKey?: string;
    /** When true, the user is inactive */
    UserKey_Inactive?: boolean;
    /** Initialized to current stage when added */
    Stage?: number;
    /** Display sequence (by name withing sequence) */
    Sequence?: number;
    /** Parallel Route Group ID */
    GroupNo?: number;
    /** Links to the user/contact that added this route */
    FromUser?: string;
    /** The role assigned to this recipient  */
    RecipientRole?: string | undefined;
    /** Status code */
    Status?: string | undefined;
    /** list of choices for Status */
    StatusChoices?: Suggestion[] | undefined;
    /** Web; E-mail; Fax; Hard Copy */
    RouteVia?: string | undefined;
    /** list of choices for RouteVia */
    RouteViaChoices?: Suggestion[] | undefined;
    /** Controls edits to base document (AKA IsCollaborator) */
    UserDocEdit?: boolean;
    /** This routee wants watchdog alerts about this document */
    SendAlerts?: boolean;
    /** When true, email based routing after this sequence is sent on behalf of this routee so that they will receive replies (see EmailFrom) */
    ReplyTo?: boolean;
    /** Name of Person email routes are sent on-behalf-of (output only) */
    EmailFrom?: string | undefined;
    /** Free form */
    Note?: string | undefined;
    /** Free form instruction to route recipient  */
    Request?: string | undefined;
    /** Free form response to route recipient */
    Response?: string | undefined;
    /** Code defined in DocType specific list */
    ResponseCode?: string | undefined;
    /** list of choices for ResponseCode */
    ResponseCodeChoices?: Suggestion[] | undefined;
    /** Workflow directives */
    WorkflowScript?: string | undefined;
    /** Set when email notification is sent */
    Alerted?: Date | undefined;
    /** Set when first viewed */
    Viewed?: Date | undefined;
    /** When Downloaded (included in activity) */
    Downloaded?: Date | undefined;
    /** Date (and sometimes Time) by which action is required */
    Due?: Date | undefined;
    /** Set by the data layer when Status changes */
    Acted?: Date | undefined;
    /** Proper name for display - John Smith; replaces ~U placeholder in Salutation */
    UserName?: string | undefined;
    /** Summary of activity on the doc, suitable for display.  Includes Acted, Downloaded, Viewed */
    Activity?: string | undefined;
    RouteeProxy?: string;
    /** Email notifications suppressed until this time */
    SuppressNotifyUntil?: Date;
    /** When 1, no notification emails are sent */
    PriorityOver?: number;
    ExpectProxy?: boolean;
    HasContent?: boolean;
    /** True when this user has CSTM | InternalStaff */
    IsInternal?: boolean;
    /** associates the row with a doc route sequence */
    RouteStepKey?: string;
    /** When this route was reached (estimated) */
    Reached?: Date;
    /** Identifies the user that added the route  */
    ByUser?: string;
    /** The transmittal control number */
    TransNumber?: number;
    /** Typically when entity was first recorded; some users may be able to override for some entities */
    Created?: Date;
    /** not currently used */
    TransStatus?: string | undefined;
    /** Type of binary data (DOCX, PDF, etc) */
    BinType?: string | undefined;
    /** If transmittal has data */
    HasBinData?: boolean;
    /** eTag */
    ETag?: string | undefined;
    /** Collection of commands for this row */
    MenuCommands?: MenuAction[] | undefined;
}
/** Document State Information */
export interface DocumentState {
    /** Identifies a Document */
    DocMasterKey?: string;
    /** Status code */
    Status?: string | undefined;
    /** State code ? (new), (i)nprocess, (P)ending, (C)losed, (A)pproved */
    DocState?: string | undefined;
    /** when true, document can leave a published state and return to in process */
    AllowsUnpending?: boolean;
    /** when true, document can leave a approved state and return to in process */
    AllowsUnapproved?: boolean;
    /** Prior Status if available  */
    PriorStatus?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Parameters for a Displayable Value request */
export interface DVRequest {
    /** ID of this request (returned with the result) */
    RequestID: string;
    /** Name of DV to be resolved */
    DVName: string;
    /** seed */
    MatchingValue?: string | undefined;
    DependsOn?: string[] | undefined;
    /** Data Context (not often used with most DV requests) */
    DataContext?: string | undefined;
}
export interface EntityTagHeaderValue {
    Tag?: string | undefined;
    IsWeak?: boolean;
}
/** Information required for an export */
export interface ExportRequest {
    /** Target FN (optional, no path) */
    ExportTargetFileName?: string | undefined;
    /** Key of template or empty key  */
    TemplateId?: string | undefined;
    /** Time Limit in minutes */
    TimeLimit?: number;
    /** Collection of columns to be exported */
    ColumnCFG?: UIDisplayConfigBasics[] | undefined;
    /** Specifies which rows to export.  If empty, exports all rows */
    WhichRows?: CurrentDataSummary[] | undefined;
    /** all the data  */
    Data?: any[] | undefined;
}
/** A change to a system field value */
export interface FieldAudit {
    /** when the change was persisted */
    ChangeWhen?: Date;
    /** string representation of the prior field value */
    PriorValue?: any | undefined;
    /** string representation of the new field value */
    NewValue?: string | undefined;
    /** user that made the change */
    ByUser?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Read only description of an cost transaction posted to a project */
export interface FileAccessHistory {
    /** User Name   */
    UserName?: string | undefined;
    /** File Name   */
    FileName?: string | undefined;
    /** File Revision number (starts with 1) */
    RevID?: number;
    /** When this access transaction occurred */
    Accessed?: Date;
    /** Type of Access */
    AccessType?: string | undefined;
    /** The Long Title of the document in whose context the access took place */
    WithDocument?: string | undefined;
    /** Additional information about access  */
    AccessInfo?: string | undefined;
    /** Was the file in cache */
    UsedCache?: boolean;
    /** User Key  for this transaction  */
    UserKey: string;
    /** Document Key  for this transaction  */
    DocMasterKey?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Information about files and items in the catalog */
export interface FileInformation {
    /** full path and name of this folder or fileKey.type */
    id?: string | undefined;
    /** Name of this object (file or folder) */
    value?: string | undefined;
    /** Name of this object (Same as Value) */
    Name?: string | undefined;
    /** File class  */
    type?: string | undefined;
    /** File type (pdf, docx, js,  etc)  Does not include period */
    FileType?: string | undefined;
    /** Identifies a file */
    FileKey?: string;
    /** Identifies a folder */
    FolderKey?: string;
    /** Size of the file (in bytes) */
    size?: number;
    /** Read only Size of the file with units */
    DisplaySize?: string | undefined;
    /** [Read Only] Catalog Date for this object */
    date?: Date | undefined;
    /** Malleable date, from the document header */
    DocDate?: Date | undefined;
    /** Malleable date, from the document header */
    Due?: Date | undefined;
    /** Malleable date, usually set to date of source file uploaded; for documents SourceDate */
    ReferenceDate?: Date | undefined;
    /** ID of Project  */
    Project?: string | undefined;
    /** Project Display Value */
    ProjectName?: string | undefined;
    /** highest revision number of binary changes.  Starts with 1 */
    LatestRevision?: number;
    /** revision number of approved revision (usually same as LatestRevision)  */
    ApprovedRevision?: number;
    /** Priority (applies to documents) */
    Priority?: number;
    /** Probability 0 to 100 (applies to documents) */
    Probability?: number;
    /** DocNo from document header
             */
    DocNo?: string | undefined;
    /** SourceRevision
             */
    SourceRevision?: string | undefined;
    /** Source Batch
             */
    SourceBatchNo?: string | undefined;
    /** Company Division ID (for documents)
             */
    DivisionID?: string | undefined;
    /** (read only) Display Value for who added the file
             */
    From?: string | undefined;
    /** Identifies source of object */
    FromUser?: string;
    /** Note when this object is attached to a document
             */
    AttachNote?: string | undefined;
    /** When set, this file is attached to this document
             */
    AttachedToDMK?: string | undefined;
    /** When set, this file is linked to an item
             */
    LinkedItemKey?: string | undefined;
    /** Read only display value for DocTypeKey associated with this object
             */
    ProcessType?: string | undefined;
    /** Identifies a file */
    DocTypeKey?: string | undefined;
    /** MD5 hash of binary content
             */
    MD5?: string | undefined;
    /** Cost Impact */
    CostImpact?: number;
    /** Latitude  */
    GeoLat?: number;
    /** Longitude */
    GeoLng?: number;
    /** Freeform keywords
             */
    Keywords?: string | undefined;
    /** Freeform other
             */
    Other?: string | undefined;
    /** Read only flag.  When true, this file is confidential (which restricts access) */
    Confidential?: boolean;
    /** Read only flag.  When true, this file is updated with data from source document */
    HasDynamicData?: boolean;
    /** Source Number associated with this version of the file
             */
    SourceNumber?: string | undefined;
    /** Source Batch associated with this version of the file
             */
    SourceBatch?: string | undefined;
    /** (read only) Display Value for contact named as source
             */
    SourceContact_dv?: string | undefined;
    /** Identifies source of object */
    SourceContact?: string | undefined;
    /** Identifies template */
    TemplateKey?: string | undefined;
    /** Display only template name
             */
    TemplateKey_dv?: string | undefined;
    /** Identifies Responsible Party (from document header) */
    ResponsibleParty?: string | undefined;
    /** Readonly: True if user can edit this file */
    CanEdit?: boolean;
    /** Readonly: True if user can move or rename this file */
    CanRename?: boolean;
    /** Readonly: True if user can view this file */
    CanView?: boolean;
    /** Document Status  (display only)  */
    StatusText?: string | undefined;
    /** Subtype (display only text)  */
    SubtypeText?: string | undefined;
    /** Checkout Status (null/I, O, U, L,) */
    CheckOutStatus?: string | undefined;
    /** Date of Check out */
    CheckedOut?: Date | undefined;
    /** Date of last Check In */
    CheckedIn?: Date | undefined;
    /** Identifies who has a file checked out  */
    CheckOutUser?: string | undefined;
    /** (read only) Display Value for contact that checked out this file
             */
    CheckOutUser_dv?: string | undefined;
    /** (read only) Display Value for contact named as alternate contact
             */
    AltFileContact_dv?: string | undefined;
    /** Identifies source of object */
    AltFileContact?: string;
    /** Users (file share) not implemented  */
    Users?: string[] | undefined;
    /** Nested Child folders (empty for a file) */
    data?: FileInformation[] | undefined;
    /** read only collection of information specific to the type of file (PDF, DOCX, etc).  See GetMeta method */
    MetaData?: {
        [key: string]: any;
    } | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Information about file versions */
export interface FileVersion {
    /** Link to xsfFileVersionInfo */
    FileVerKey?: string;
    /** -2:Doc Folder; -4:Item Folder; with -1: delete */
    RevID?: number;
    /** MD5 hash, combined with length and used for duplicate detection */
    DataHash?: string | undefined;
    /** External reference */
    SourceRevision?: string | undefined;
    /** When stored */
    Cataloged?: Date;
    /** When Approved */
    Approved?: Date;
    /** User that approved this */
    ApprovedBy?: string;
    /** Links to a user/contact  */
    FromUser?: string;
    /** text from binary (for index/search) */
    TxtData?: string | undefined;
    /** Size of file binary data in bytes  */
    BinSize?: number;
    /** True on the file version that is the newest one with approved not empty  */
    IsCurrentApprovedVersion?: boolean;
    /** When not empty, reason this version cannot be removed */
    NoCanDelete?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Information about flexible keys.  See https://support.spitfirepm.com/kba-01294/ */
export interface FlexMask {
    /** Key for this segment of this flexible key */
    FlexSegmentKey?: string;
    /** Link to xsfFileVersionInfo */
    FlexName: string;
    /** 1 to 6 */
    SegNumber: number;
    /** Name of this segment */
    SegName: string;
    /** 1 to nn */
    SegLen: number;
    /** Y,9,V,W */
    SegMaskType: string;
    /** Optional Lookup Name */
    SegLookup?: string | undefined;
    /** Optional value list */
    SegValues?: string | undefined;
    /** Unused */
    SegBreakFlag?: string | undefined;
    /** Unused */
    SegRollupFlag?: string | undefined;
    /** Unused */
    AllowTitles?: boolean;
    /** eTag */
    ETag?: string | undefined;
}
export interface HttpContent {
    Headers?: HttpContentHeaders | undefined;
}
export interface Anonymous {
    Allow?: string[] | undefined;
    ContentDisposition?: ContentDispositionHeaderValue | undefined;
    ContentEncoding?: string[] | undefined;
    ContentLanguage?: string[] | undefined;
    ContentLength?: number | undefined;
    ContentLocation?: string | undefined;
    ContentMD5?: string | undefined;
    ContentRange?: ContentRangeHeaderValue | undefined;
    ContentType?: MediaTypeHeaderValue | undefined;
    Expires?: Date | undefined;
    LastModified?: Date | undefined;
}
export interface HttpContentHeaders extends Anonymous {
    [key: string]: any;
}
export interface HttpMethod {
    Method?: string | undefined;
}
export interface Anonymous2 {
    Accept?: MediaTypeWithQualityHeaderValue[] | undefined;
    AcceptCharset?: StringWithQualityHeaderValue[] | undefined;
    AcceptEncoding?: StringWithQualityHeaderValue[] | undefined;
    AcceptLanguage?: StringWithQualityHeaderValue[] | undefined;
    Authorization?: AuthenticationHeaderValue | undefined;
    Expect?: NameValueWithParametersHeaderValue[] | undefined;
    ExpectContinue?: boolean | undefined;
    From?: string | undefined;
    Host?: string | undefined;
    IfMatch?: EntityTagHeaderValue[] | undefined;
    IfModifiedSince?: Date | undefined;
    IfNoneMatch?: EntityTagHeaderValue[] | undefined;
    IfRange?: RangeConditionHeaderValue | undefined;
    IfUnmodifiedSince?: Date | undefined;
    MaxForwards?: number | undefined;
    ProxyAuthorization?: AuthenticationHeaderValue | undefined;
    Range?: RangeHeaderValue | undefined;
    Referrer?: string | undefined;
    TE?: TransferCodingWithQualityHeaderValue[] | undefined;
    UserAgent?: ProductInfoHeaderValue[] | undefined;
    CacheControl?: CacheControlHeaderValue | undefined;
    Connection?: string[] | undefined;
    ConnectionClose?: boolean | undefined;
    Date?: Date | undefined;
    Pragma?: NameValueHeaderValue[] | undefined;
    Trailer?: string[] | undefined;
    TransferEncoding?: TransferCodingHeaderValue[] | undefined;
    TransferEncodingChunked?: boolean | undefined;
    Upgrade?: ProductHeaderValue[] | undefined;
    Via?: ViaHeaderValue[] | undefined;
    Warning?: WarningHeaderValue[] | undefined;
}
export interface HttpRequestHeaders extends Anonymous2 {
    [key: string]: any;
}
export interface HttpRequestMessage {
    Version?: Version | undefined;
    Content?: HttpContent | undefined;
    Method?: HttpMethod | undefined;
    RequestUri?: string | undefined;
    Headers?: HttpRequestHeaders | undefined;
    Properties?: {
        [key: string]: any;
    } | undefined;
}
/** Descriptive content of API issue */
export interface HttpResponseJsonContent2 {
    /** HTTP Response Status Code */
    ThisStatus?: number;
    /** Descriptive reason */
    ThisReason?: string | undefined;
}
export interface HttpResponseJsonContent extends HttpResponseJsonContent2 {
}
export declare enum HttpStatusCode {
    Continue = 100,
    SwitchingProtocols = 101,
    OK = 200,
    Created = 201,
    Accepted = 202,
    NonAuthoritativeInformation = 203,
    NoContent = 204,
    ResetContent = 205,
    PartialContent = 206,
    MultipleChoices = 300,
    Ambiguous = 300,
    MovedPermanently = 301,
    Moved = 301,
    Found = 302,
    Redirect = 302,
    SeeOther = 303,
    RedirectMethod = 303,
    NotModified = 304,
    UseProxy = 305,
    Unused = 306,
    TemporaryRedirect = 307,
    RedirectKeepVerb = 307,
    BadRequest = 400,
    Unauthorized = 401,
    PaymentRequired = 402,
    Forbidden = 403,
    NotFound = 404,
    MethodNotAllowed = 405,
    NotAcceptable = 406,
    ProxyAuthenticationRequired = 407,
    RequestTimeout = 408,
    Conflict = 409,
    Gone = 410,
    LengthRequired = 411,
    PreconditionFailed = 412,
    RequestEntityTooLarge = 413,
    RequestUriTooLong = 414,
    UnsupportedMediaType = 415,
    RequestedRangeNotSatisfiable = 416,
    ExpectationFailed = 417,
    UpgradeRequired = 426,
    InternalServerError = 500,
    NotImplemented = 501,
    BadGateway = 502,
    ServiceUnavailable = 503,
    GatewayTimeout = 504,
    HttpVersionNotSupported = 505
}
/** Describes peer Compliance Item.  This data is effectively read only.  Update the base compliance item record. */
export interface InboundComplianceItem {
    /** The Spitfire project id */
    project?: string | undefined;
    /** The text result of the last compliance evaluation (Complied, Expired, etc) */
    lastReason?: string | undefined;
    /** The value specified as when compliance was documented  */
    received?: Date | undefined;
    receivedSpecified?: boolean;
    /** when the last spitfire alert was generated  */
    lastAlertWas?: Date | undefined;
    lastAlertWasSpecified?: boolean;
    /** The value recorded for when the compliance begins (eg: insurance effective date ) */
    effective?: Date | undefined;
    EffectiveSpecified?: boolean;
    /** The value recorded for when the compliance ends (eg: insurance expiration date ) */
    expiration?: Date | undefined;
    ExpirationSpecified?: boolean;
    /** When this compliance item was created */
    created?: Date | undefined;
    createdSpecified?: boolean;
    /** free form text */
    description?: string | undefined;
    /** Free form text inteded for the insurance carrier */
    carrier?: string | undefined;
    /** Boolean.  When true, this item is effectively in compliance.  Do not change this field - it is updated by the compliance engine */
    inCompliance?: boolean | undefined;
    inComplianceSpecified?: boolean;
    /** The peer compliance type. See XTS Config and mapping   */
    alienType?: string | undefined;
    /** The peer compliance category  See XTS Config and mapping   */
    alienCategory?: string | undefined;
    /** Magic Number - When this compliance item changed */
    lastChangeLong?: number | undefined;
    lastChangeLongSpecified?: boolean;
    /** The map key for this item */
    TDKeyMapKey?: string | undefined;
    /** The peer key for this item */
    alienPKey?: string | undefined;
    /** The peer alternate key for this item */
    alienKey?: string | undefined;
    /** When the compliance is related to a vendor, the vendor id goes here.  Do not update this field */
    vendorID?: string | undefined;
    /** The peer key for the project - hopefully the same as the Spitfire Project ID */
    projectAlienKey?: string | undefined;
    /** The peer key for the project - hopefully the same as the Spitfire Project ID */
    projectAlienPK?: string | undefined;
    /** The peer key for the subcontract */
    commitAlienPK?: string | undefined;
    /** The spitfire compliance item key */
    CIKey?: string | undefined;
    /** The spitfire subcontract key */
    SCDMK?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
export interface KeyValuePairOfStringAndIEnumerableOfString {
    Key?: string | undefined;
    Value?: string[] | undefined;
}
export interface MarshalByRefObject {
}
export interface MediaTypeHeaderValue {
    CharSet?: string | undefined;
    Parameters?: NameValueHeaderValue[] | undefined;
    MediaType?: string | undefined;
}
export interface MediaTypeWithQualityHeaderValue extends MediaTypeHeaderValue {
    Quality?: number | undefined;
}
/** Describes a Menu or Action or Dialog Field */
export interface MenuAction {
    /** The menu or group that connects a series of actions */
    MenuID?: string;
    /** Key for this action, unique within MenuID */
    CommandName?: string | undefined;
    /** optional argument */
    CommandArgument?: string | undefined;
    /** True if enabled */
    Enabled?: boolean;
    /** Actual Permits this user has for UCModule and UCFunction, when insufficient, enabled will be false */
    HasPermits?: number | undefined;
    /** suggested image */
    IconImageUrl?: string | undefined;
    /** Display Text */
    ItemText?: string;
    /** Optional additional help information */
    InfoText?: string | undefined;
    /** Default value */
    DefaultValue?: string | undefined;
    /** URL for action */
    HRef?: string | undefined;
    /** target for URL (dashboard, _blank, etc) */
    HrefTarget?: string | undefined;
    /** For a permission demand lookup */
    UCModule?: string | undefined;
    /** The function within the specified module */
    UCFunction?: string | undefined;
    /** Demanded permissions within UCModule and UCFunction  */
    NeedPermits?: number | undefined;
    /** Controls order of choices within MenuID */
    MenuSeq?: number | undefined;
    /** If not empty, a confirmation prompt */
    Confirm?: string | undefined;
    /** list of choices for this element (if applicable) */
    Choices?: Suggestion[] | undefined;
    /** list of actions for this element (if applicable) */
    Items?: MenuAction[] | undefined;
    /** When true, and not enabled, do not bother showing */
    HideifDisabled?: boolean | undefined;
    /** eTag */
    ETag?: string;
}
export interface NameValueHeaderValue {
    Name?: string | undefined;
    Value?: string | undefined;
}
export interface NameValueWithParametersHeaderValue extends NameValueHeaderValue {
    Parameters?: NameValueHeaderValue[] | undefined;
}
export interface PasswordConfiguredOptions {
}
/** Passes data to a simple API */
export interface PDSData extends APIData {
    /** ID of data set */
    PDSKey?: string | undefined;
    /** Type of change (put, set) */
    Mode?: string | undefined;
    /** key or AK source (eg: AK/tdkeymapkey/TK/@xtsKeyMap.BlockOut/9c337885-0fb1-460c-960a-3bacc1d8e0)
             */
    Path?: string | undefined;
    /** Type of data (boolean,string,decimal) */
    Type?: string | undefined;
    /** Optional prior value of the field, used for change detection and logging.  Use DBNULL for null values. */
    PriorValue?: string | undefined;
    /** When TRUE target field can be read only and will be updated in memory */
    UpdateReadOnly?: boolean;
}
/** General abstract information about an Period Distribution document */
export interface PeriodDistributionAbstract {
    /** Project ID */
    Project: string;
    /** Various Project Attributes  */
    ProjectDetails?: ProjectAbstract | undefined;
    /** Subtype description */
    SubtypeDescription?: string | undefined;
    /** Full name of current user  DescribeValue("sfUser") */
    UserName?: string | undefined;
    /** Full UserLogin of current user    */
    UserLogin?: string | undefined;
    /** Flex Key mask for projects DescribeValue("FlexKeyMask", "PROJECT") */
    ProjectIDMask?: string | undefined;
    /** Flex Key mask for projects DescribeValue("FlexKeyMask", "TASK") */
    WBCodeMask?: string | undefined;
    /** Flex Key mask for projects DescribeValue("FlexKeySeparator", "PROJECT") */
    ProjectSegmentSeparator?: string | undefined;
    /** Flex Key mask for projects DescribeValue("FlexKeySeparator", "TASK") */
    WBCodeSegmentSeparator?: string | undefined;
    /** Returns fiscal period from this document  */
    FiscalPeriodThisDocument?: string | undefined;
    /** Returns current fiscal period */
    FiscalPeriodCurrent?: string | undefined;
    /** Additional Name-Value Pairs */
    OtherProperties?: {
        [key: string]: any;
    } | undefined;
    /** returns -1 to 100 from BudgetConfig | BillingUplift */
    RevenueUpliftPercent?: number;
    /** returns -1 to 100 from BudgetConfig | ActualDistributionLag */
    ActualDistributionLagPeriods?: number;
    /** returns -11 to 11 from BudgetConfig | FiscalYearOffset */
    FiscalYearMonthOffset?: number;
    /** When true, the word Revenue is replaced by Billing  BudgetConfig | PeriodRevenueLabel */
    UseBillingLabelForRevenue?: boolean;
    /** Alias for ProjectDetails.ProjectTitle (from project setup) */
    ProjectName?: string | undefined;
    /** Alias for ProjectDetails.ProjectIDMasked  */
    ProjectID?: string | undefined;
    /** Alias for ProjectDetails.ProjectIDMasked  */
    ProjectFinishDate?: Date | undefined;
    /** Alias for ProjectDetails.ProjectIDMasked  */
    ProjectCloseoutDate?: Date | undefined;
    /** returns same as DV("ProjectSignOff", projectid, Nothing) */
    ProjectSignOff?: Date;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes permission being demanded and the context */
export interface PermissionContext {
    /** Module Name (SYS, LIST, PART, PAGE, DOC)  */
    UCModule: string;
    /** Internal Name (see xsfUCFunction) */
    UCFunction: string;
    /** Project ID  */
    Project?: string | undefined;
    /** Key of document - if specified, DocTypeKey, DocReference and Project are loaded from the document */
    DocMasterKey?: string;
    /** Document Type */
    DocTypeKey?: string;
    /** Doc Reference (seldom used) */
    DocReference?: string;
    /** Bit Coded R I U D S  */
    Permissions?: PermissionFlags;
}
/** Permission required flag -- bit flags can be combined */
export declare enum PermissionFlags {
    None = 0,
    Read = 1,
    Insert = 2,
    Update = 4,
    Delete = 8,
    Blanket = 16
}
/** Summary of Project Process (Document) types */
export interface ProcessDocumentType {
    /** Key for Process Type */
    DocTypeKey: string;
    /** Default Process (Doc Type) Name (You probably want SiteName) */
    DocType?: string | undefined;
    /** Site Name for this Process  */
    SiteName?: string | undefined;
    /** When True, shown on Mobile dashboards */
    MobileDashboard?: boolean;
    /** When True, shown on project dashboards */
    ProjectDashboard?: boolean;
    /** When True, can create from project dashboard */
    NewFromDashboard?: boolean;
    /** When True, is created from a parent document */
    CreateFromParent?: boolean;
    /** When True, uses an item register */
    UseItemRegister?: boolean;
    /** When True, is Site Active */
    SiteActive?: boolean;
    /** Key for optional parent Process Type (commitment and cco) */
    ParentTypeKey?: string | undefined;
    /** When true, this is a locally defined Process Type (specific to this site) */
    Custom?: boolean;
    /** eTag */
    ETag?: string | undefined;
}
export interface ProductHeaderValue {
    Name?: string | undefined;
    Version?: string | undefined;
}
export interface ProductInfoHeaderValue {
    Product?: ProductHeaderValue | undefined;
    Comment?: string | undefined;
}
/** Abstracted information about a project, see ProjectToolsClient.GetProjectDetail() */
export interface ProjectAbstract {
    /** Project ID */
    Project: string;
    /** Key for Project */
    ProjectKey?: string;
    /** From Project Setup (Subtype_ */
    ProjectType?: string | undefined;
    /** Key for Project Setup */
    SetupDocKey?: string;
    /** Key for Site Address */
    SiteAddrKey?: string;
    /** Person */
    Person?: string | undefined;
    /** Company from Address tab */
    Company?: string | undefined;
    /** Address line 1 */
    Addr1?: string | undefined;
    /** Address Line 2 */
    Addr2?: string | undefined;
    /** City */
    City?: string | undefined;
    /** State */
    State?: string | undefined;
    /** Zip */
    Zip?: string | undefined;
    /** County */
    County?: string | undefined;
    /** Phone */
    Phone?: string | undefined;
    /** Fax (obsolete) */
    Fax?: string | undefined;
    /** External Status (from project setup) */
    ExternalStatus?: string | undefined;
    /** External Schedule (from project setup) */
    ExternalSchedule?: string | undefined;
    /** Subcontract Budget Mode flag (Seldom Used ) */
    SCBudgetMode?: string | undefined;
    /** Plan Room Mode (public or privae or none) */
    PlanRoomMode?: string | undefined;
    /** URI for site camera */
    WebCamURL?: string | undefined;
    /** Description */
    Description?: string | undefined;
    /** Forecasting Threshold (project setup) */
    ForecastThreshold?: number;
    /** Geo latitude (project setup) */
    latitude?: number;
    /** Geo longitude (project setup) */
    longitude?: number;
    /** Cloud Storage Provider (project setup) */
    cldStoreKey?: string;
    /** Cloud Path (CloudStorageConfig rule0 */
    CloudDrivePath?: string | undefined;
    /** GLSUB for project */
    GLSUB?: string | undefined;
    /** When true, project is active */
    Active?: boolean;
    /** Status code  (project setup) */
    Status?: string | undefined;
    /** Resolved Status (project setup) */
    StatusText?: string | undefined;
    /** Subtype  */
    Subtype?: string | undefined;
    /** State of project setup */
    DocState?: string | undefined;
    /** Key From Project Setup Reference  */
    ProjectDocReference?: string | undefined;
    /** From UniReferenceKey */
    ProjectUniReference?: string | undefined;
    /** Customer ID From Project Setup Source Contact */
    ProjectCustomerID?: string | undefined;
    /** Resolve name of customer From Project Setup Source Contact */
    ProjectCustomerName?: string | undefined;
    /** From Project Setup */
    ProjectTitle?: string | undefined;
    /** From Project Setup */
    ProjectIDMasked?: string | undefined;
    /** The company Division Name for the Division specified on this project setup */
    DivisionName?: string | undefined;
    /** from ProjectConfig TabText rule */
    ProjectTabName?: string | undefined;
    /** from ProjectConfig TabTip rule */
    ProjectTabTip?: string | undefined;
    /** from ProjectConfig TabText rule */
    ProjectBar?: string | undefined;
    /** From Dates on project setup */
    ProjectStartDate?: Date;
    /** From Dates on project setup */
    ProjectFinishDate?: Date;
    /** From Dates on project setup: the Closeout Date */
    ProjectCloseoutDate?: Date | undefined;
    /** how to display project start date */
    ProjectStartFormat?: string | undefined;
    /** how to display project finish date */
    ProjectFinishFormat?: string | undefined;
    /** URI to current project photo */
    ProjectPhoto?: string | undefined;
    /** Current Note on Project */
    ProjectCurrentNote?: string | undefined;
    /** true if this project is connected to an XTS peer */
    ProjectIsIntegrated?: boolean;
    /** information about the external sync of a project with a peer
             */
    ProjectXTSTaskSummary?: ProjectXTSTaskState[] | undefined;
    /** list of actions */
    actionsMenu?: MenuAction[] | undefined;
    /** list of registers (includes link to project setup) */
    registerMenu?: MenuAction[] | undefined;
    /** When true, Always Show Links */
    AlwaysShowLinks?: boolean;
    /** When true, disable Note */
    ExcludeNoteUI?: boolean;
    /** When true, disable Links */
    ExcludeLinkUI?: boolean;
    /** When true, disable Cost Analysis */
    ExcludeCostAnalysisUI?: boolean;
    /** When true, disable KPI */
    ExcludeKPIUI?: boolean;
    /** Indicates this users data context for this project */
    DataContext?: string | undefined;
    /** Indicates when this abstract was generated */
    dataResolved?: Date;
    /** eTag */
    ETag?: string | undefined;
}
/** Read only description of an open committed cost posted to a project */
export interface ProjectCommitmentDetail {
    /** Key for this transaction (does not persist) */
    RowKey: string;
    /** Account Category */
    acct?: string | undefined;
    /** Account Class (L, B, E, etc) */
    AcctClass?: string | undefined;
    /** Account Type (EX or RV) */
    AcctType?: string | undefined;
    /** No known use */
    Acct_TranClass?: string | undefined;
    /** Amount  */
    amount?: number;
    /** Typically US */
    BaseCuryId?: string | undefined;
    /** Batch ID */
    batch_id?: string | undefined;
    /** Batch Type  */
    batch_type?: string | undefined;
    /** Billing Batch ID  */
    bill_batch_id?: string | undefined;
    /** Company Division ID  */
    CpnyId?: string | undefined;
    /** When this transaction was written */
    crtd_datetime?: Date;
    /** Id of Source logic that recorded this transaction */
    crtd_prog?: string | undefined;
    /** User ID under which this transaction was recorded  */
    crtd_user?: string | undefined;
    /** No known use */
    data1?: string | undefined;
    /** No known use */
    detail_num?: number;
    /** Fiscal Period (YYYYMM) */
    FiscalNo?: string | undefined;
    /** GL Account number */
    GLAcct?: string | undefined;
    /** GL Subaccount number */
    GLSubAcct?: string | undefined;
    /** Last Update of this transaction (typically matches CRTD_) */
    lupd_datetime?: Date;
    /** Source logic of this transaction (typically matches CRTD_) */
    lupd_prog?: string | undefined;
    /** Source user generating this transaction (typically matches CRTD_) */
    lupd_user?: string | undefined;
    /** Part Number */
    part_number?: string | undefined;
    /** Project Cost Code */
    pjt_entity?: string | undefined;
    /** po Date of this transaction */
    po_date?: Date;
    /** ID of Project   */
    project?: string | undefined;
    /** promise Date of this transaction */
    promise_date?: Date;
    /** PO Number */
    PONumber?: string | undefined;
    /** request Date of this transaction */
    request_date?: Date;
    /** Source Number  */
    SourceNum?: string | undefined;
    /** System Code */
    system_cd?: string | undefined;
    /** Transaction Date */
    trans_date?: Date;
    /** Transaction Comment */
    tr_comment?: string | undefined;
    /** Transaction Status */
    tr_status?: string | undefined;
    /** Reference to related subcontract  */
    Subcontract?: string | undefined;
    /** No known use */
    tr_id01?: string | undefined;
    /** Invoice Number */
    InvoiceNumber?: string | undefined;
    /** UOM (code) */
    UOM?: string | undefined;
    /** Units */
    units?: number;
    user1?: string | undefined;
    /** Vendor Number */
    VendorId?: string | undefined;
    /** Voucher Line */
    voucher_line?: number;
    /** Voucher Number */
    voucher_num?: string | undefined;
    /** Employee Name (blank if user lacks permission) */
    emp_name?: string | undefined;
    /** Employee Name (blank if user lacks permission) */
    EmployeeId?: string | undefined;
    /** Labor Class Code */
    LaborClass?: string | undefined;
    /** Rate (amount) */
    Rate?: number;
    /** Vendor Name   */
    name?: string | undefined;
    /** Equipment ID */
    equip_id?: string | undefined;
    /** Description */
    Descr?: string | undefined;
    /** Is XTS transaction  */
    IsXTS?: boolean;
    /** Identifies a Document */
    DocMasterKey?: string;
    /** Document Title */
    DocTitle?: string | undefined;
    /** Document Date */
    DocDate?: Date;
    /** eTag */
    ETag?: string | undefined;
}
/** Process Document on a Project */
export interface ProjectDocsOfType {
    /** Key to Document (required to open) */
    DocMasterKey: string;
    /** Type of Process */
    DocTypeKey?: string;
    /** Key to Process Reference */
    DocReference?: string;
    /** Document Date (header) */
    DocDate?: Date;
    /** Document Number (header; usually read only) */
    DocNo?: string | undefined;
    /** Batch Number (often unused) */
    DocBatchNo?: string | undefined;
    /** Source Document Number (eg: invoice number for a vendor invoice) */
    SourceDocNo?: string | undefined;
    /** Document Title */
    Title?: string | undefined;
    /** Document Priority 1==High */
    Priority?: number;
    /** When true, document is confidential (only name routes have access) */
    Confidential?: boolean;
    /** Key to Contact document was "from") */
    FromUser?: string;
    /** Resolved name of user the Document is "from" */
    SortFrom?: string | undefined;
    /** (Read only) Resolved name of Responsible Party */
    ResponsibleParty_dv?: string | undefined;
    /** Key to contact "Responsible" - used for Ball in Court and other use cases */
    ResponsibleParty?: string;
    /** Key for Contact, from SourceContact or ResponsibleParty or Doc Creator  */
    Company?: string;
    /** Resolved Company Name  of the source Contact  */
    Company_dv?: string | undefined;
    /** Resolved name of contact that this document is "to" (uses To Address, contact (Compnay or Name), or data on address (Company or Person)   */
    ToUser?: string | undefined;
    /** Resolved name of contact that this document is "to" (uses To Address, contact (Compnay or Sort Name), or data on address (Company or Person) */
    SortTo?: string | undefined;
    /** Resolved name of contact that this document is "FROM" (uses To Address, contact (Compnay or Name), or data on address (Company or Person)   */
    Author?: string | undefined;
    /** When the document/process is due */
    Due?: Date | undefined;
    /** when the document/process was approved */
    Signoff?: Date | undefined;
    /** when the document/process was closed */
    Closed?: Date | undefined;
    /** Project ID */
    Project?: string | undefined;
    /** Specification */
    Specification?: string | undefined;
    /** Subcontract number (shared by commitment, payment requests, CCO, receipts, etc) */
    SubContract?: string | undefined;
    /** Flag indicating pay control option (auto, warn, block) */
    PayControl?: string | undefined;
    /** Subtype code */
    Subtype?: string | undefined;
    /** Resolved Subtype description */
    Subtype_dv?: string | undefined;
    /** Status Code */
    Status?: string | undefined;
    /** Resolved Status description */
    Status_dv?: string | undefined;
    /** Value of document/process - usually sum of Expense Amount on items (see DocFormula rule group) */
    CostImpact?: number;
    /** Custom Amount */
    csAmount?: number;
    /** Bond */
    Bond?: number;
    /** Subsegment code */
    Subsegment?: string | undefined;
    /** Contract type code */
    ContractType?: string | undefined;
    /** Source date for document (eg invoice date) */
    SourceDate?: Date | undefined;
    /** Payment Item Number */
    PayItemNumber?: string | undefined;
    /** External Doc Number */
    ExternalDocNo?: string | undefined;
    /** (read only) Display Value for contact named as source
             */
    SourceContact_dv?: string | undefined;
    /** Key of Primary Source Contact of document (eq vendor on commitments and related docs) */
    SourceContact?: string;
    /**            Section - freeform
            */
    Section?: string | undefined;
    /**            DraftNumber - Used with SOV Billing
            */
    DraftNumber?: string | undefined;
    /**            Area - An indication of job size
            */
    Area?: number;
    /**            csDate - for custom use
            */
    csDate?: Date;
    /**            DaysRequested - Scheduled Impact Requested in Days
            */
    DaysRequested?: number;
    /**            csQty - for custom use
            */
    csQty?: number;
    /**            csNumber - Custom Field
            */
    csNumber?: number;
    /**            Probability - zero to 100
            */
    Probability?: number;
    /**            Final - When true, declares intent to be last in a series
            */
    Final?: boolean | undefined;
    /**            Reason - xsfDocTypeSubcodes - user-defined; Formerly RejectCode
            */
    Reason?: string | undefined;
    /**            DocEdit - When TRUE, those with permission can edit the document
            */
    DocEdit?: boolean | undefined;
    /**            SOVItemNumber - Dynamics: weak link to pjbillcn.itemnbr
            */
    SOVItemNumber?: string | undefined;
    /**            BudgetRevFlag -
            */
    BudgetRevFlag?: string | undefined;
    /**            InPeriod - YYYYMM
            */
    InPeriod?: string | undefined;
    /**            OwnerApprover - Validated in Contact Table
            */
    OwnerApprover?: string;
    /**            csValue - for custom use
            */
    csValue?: number;
    /**            UpdateMask - Bit Mask:Orig/Bid(1); EAC(2); FAC(4); Actuals(256); Commitments(512)
            */
    UpdateMask?: number;
    /**            csFlag - for custom use
            */
    csFlag?: boolean | undefined;
    /**            NumToForward -
            */
    NumToForward?: number;
    /**            DocFlag - Flag
            */
    DocFlag?: boolean | undefined;
    /**            DaysApproved - Scheduled Impact Approved
            */
    DaysApproved?: number;
    /**            ArchProject - Architect's Project (External Reference)
            */
    ArchProject?: string | undefined;
    /**            Duration -
            */
    Duration?: number;
    /**            csCheck - Flag
            */
    csCheck?: boolean | undefined;
    /**            Segment - code driven
            */
    Segment?: string | undefined;
    /**            csCode - for custom use
            */
    csCode?: string | undefined;
    /**            ProjEntity - Used for either the cost or revenue (eg PCO) code
            */
    ProjEntity?: string | undefined;
    /**            csString016 - for custom use
            */
    csString016?: string | undefined;
    /**            csString030 - for custom use
            */
    csString030?: string | undefined;
    /**            csString040 - for custom use
            */
    csString040?: string | undefined;
    /**            csString050 - for custom use
            */
    csString050?: string | undefined;
    /**            csString060 - for custom use
            */
    csString060?: string | undefined;
    /**            csString080 - for custom use
            */
    csString080?: string | undefined;
    /**            csString100 - for custom use
            */
    csString100?: string | undefined;
    /**            csString120 - for custom use
            */
    csString120?: string | undefined;
    /**            csString240 - for custom use
            */
    csString240?: string | undefined;
    /**            DivisionID - References Solomon Company
            */
    DivisionID?: string | undefined;
    /**            Source - via xsfDocTypeSubcodes - user-defined (Source)
            */
    Source?: string | undefined;
    /**            Location - free form
            */
    Location?: string | undefined;
    /**            NumToSend -
            */
    NumToSend?: number;
    /** Current Routing sequence (zero if route is complete) */
    CurrentSeq?: number;
    /** Number of stages of routing  */
    MaxStage?: number;
    /** How many files are attached */
    FilesAttached?: number;
    /** (read only) Display Value for user that last changed status
             */
    LastStatusBy_dv?: string | undefined;
    /** Key of User that last changed document status */
    LastStatusBy?: string;
    /** eTag */
    ETag?: string | undefined;
}
/** Attributes describing a Link to a parent or child  project */
export interface ProjectLink {
    /** Key for Attachment between projects */
    DocAttachKey: string;
    /** Key for document that owns the link */
    DocMasterKey?: string;
    /** Key for Project Setup  */
    LinkedProjectContractKey?: string;
    /** Project ID */
    Project?: string | undefined;
    /** Title of Project */
    Title?: string | undefined;
    /** Location of Project */
    Location?: string | undefined;
    /** External Doc Number */
    ExternalDocNo?: string | undefined;
    /** Resolved Status  */
    StatusDescription?: string | undefined;
    /** Project Start Date (from Dates tab) */
    ProjectStart?: Date;
    /** Project Finish Date (from Dates tab) */
    ProjectFinish?: Date;
    /** EAC Contract Value  */
    CurrentContract?: number;
    /** When True, this is a child project */
    IsChild?: boolean;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes the link between a project and a program (xsfProgramProjectMap) */
export interface ProjectPrograms {
    /** Key for this entity */
    PgmPjtMapKey: string;
    /** Key for this program */
    ProgramKey: string;
    /** Project Key (xsfProject) */
    ProjectKey: string;
    /** When */
    Created: Date;
    /** When True, this program is active  */
    Active?: boolean;
    /** eTag */
    ETag?: string | undefined;
}
/** Details a single line in a project budget at a point in time */
export interface ProjectSnapshot {
    /** Key for this line */
    ForecastRowKey: string;
    /** Key for this (ProjEntity) cost code group */
    TaskRowKey: string;
    /** Key for this snapshot */
    DocRevKey: string;
    /** (R)ow or (T)ask */
    RowType?: string | undefined;
    /** WB (Cost) Code including mask characters */
    ProjEntity?: string | undefined;
    /** Account  (must be unique within ProjEntity group) */
    AccountCategory?: string | undefined;
    /** Account  class (labor, burden, etc) */
    Acct_Class?: string | undefined;
    /** Account  Type (RV, EX) */
    Acct_Type?: string | undefined;
    /** sequences the accounts within each ProjEntity Group */
    Acct_Sort?: number;
    /** Optional Billing Code that specifies the roll up group for a set of ProjEntity */
    BillingCode?: string | undefined;
    /** FP, CP etc */
    CostingMethod?: string | undefined;
    /** Y or N */
    Projected?: string | undefined;
    /** forecasting threshold,  0 to 1; typically 0.15 */
    Threshold?: number;
    /** EAC Revenue */
    BudgetedRevenue?: number;
    /** original revenue */
    OriginalRevenue?: number;
    /** EAC Cost */
    CurrentBudget?: number;
    /** Original Budget for Cost */
    OriginalBudget?: number;
    /** Typically current-original */
    BudgetRevision?: number;
    /** EAC Approved CO */
    ApprovedCO?: number;
    /** CO that are still not pending (see rules) */
    VerbalCO?: number;
    /** CO costs that are pending but not approved */
    PendingCO?: number;
    /** CO Revenue */
    ApprovedCORevenue?: number;
    /** CO revenue that is pending */
    PendingCORevenue?: number;
    /** Prior FAC revenue (kin to CurrentBudget) */
    PriorFACRevenue?: number;
    /** Original Units */
    OriginalUnits?: number;
    /** Change in  Units */
    RevisionUnits?: number;
    /** Units to Date  */
    ActualUnits?: number;
    /** Cost to date */
    ActualToDate?: number;
    /** Open commitment amount; similar to remaining to pay but as reported by accounting peer */
    CommittedToDate?: number;
    /** Actual costs in the prior fiscal year */
    ActualPY?: number;
    /** Actual costs in the prior fiscal period */
    ActualPP?: number;
    /** Actual costs in the current fiscal year */
    ActualCY?: number;
    /** Actual costs in the current fiscal period */
    ActualCP?: number;
    /** Actual units in the prior fiscal year */
    ActualUnitsPY?: number;
    /** Actual units in the prior fiscal period */
    ActualUnitsPP?: number;
    /** Actual units in the current fiscal year */
    ActualUnitsCY?: number;
    /** Actual units in the current fiscal period */
    ActualUnitsCP?: number;
    /** charges */
    ChargesToDate?: number;
    /** open work order amount */
    OpenWO?: number;
    /** completed work order */
    CompletedWO?: number;
    /** open work order units */
    OpenWOUnits?: number;
    /** completed work order units */
    CompletedWOUnits?: number;
    /** Name of vendor after buyout or "Multiple" */
    VendorName?: string | undefined;
    /** Original Subcontract Amount  */
    OriginalSC?: number;
    /** approved subcontract CO amount */
    ApprovedSCO?: number;
    /** pending subcontact changes */
    PendingSCO?: number;
    /** subcontact changes that are not yet pending (see probability rules) */
    PotentialSCO?: number;
    /** Subcontract Retention */
    SCPayReqRetention?: number;
    /** Subcontract amount approved as completed/paid */
    SCPayReqTotal?: number;
    /** Subcontract amount paid */
    SCPayReqPaid?: number;
    /** Subcontract amount held in retention */
    SCPPRRetention?: number;
    /** Subcontract amount pending approval for payment */
    PendingPayAmount?: number;
    /** Similar to open commitment this is (OriginalSC + ApprovedSCO) - SCPayReqTotal */
    SCRemainingPay?: number;
    /** FAC - Actual */
    PriorFTC?: number;
    /** Previously established percent complete */
    PriorPercentComplete?: number;
    /** Prior FAC revenue (kin to CurrentBudget) */
    PriorFAC?: number;
    /** Prior FAC units   */
    PriorFACUnits?: number;
    /** Amount billed */
    BTDRevenue?: number;
    /** Number of accounts in this ProjEntity group */
    ChildCnt?: number;
    /** Date */
    LastPosting?: string | undefined;
    /** Description */
    Description?: string | undefined;
    /** Unit of Measure (SF, EA, etc) */
    UOM?: string | undefined;
    /** Description */
    Notes?: string | undefined;
    /** Description */
    TrackingNotes?: string | undefined;
    /** Description */
    czUDSAmt1?: number;
    /** Description */
    czUDSAmt2?: number;
    /** Description */
    czUDSAmt3?: number;
    /** Description */
    czUDSText1?: string | undefined;
    /** Description */
    czUDSText2?: string | undefined;
    /** manually specified completed units */
    DeclaredUnits?: number;
    /** manually specified percent complete */
    DeclaredPercentComplete?: number;
    /** for internal use */
    ChangeFACorFTC?: number;
    /** for internal use */
    ChangePercentComplete?: number;
    /** for internal use */
    ChangeTaskProductionUnits?: number;
    /** for internal use */
    ChangeAmount?: number;
    /** for internal use */
    ChangeProductionRate?: number;
    /** for internal use */
    ChangeAccountProductionUnits?: number;
    /** for internal use */
    ChangeDollarsPerUnit?: number;
    /** for internal use */
    ChangeHrsPerUnit?: number;
    /** for internal use */
    ChangeUnitsPerHr?: number;
    /** for internal use */
    ChangeProductivityFactor?: number;
    /** for internal use */
    ChangeWorkingFAC?: number;
    /** for internal use */
    ChangeWorkingFACUnits?: number;
    /** for internal use */
    ChangeWorkingPercentComplete?: number;
    /** for internal use */
    ChangeWorkingAmountGL?: number;
    /** for internal use */
    ChangeWorkingProdUnitGL?: number;
    /** for internal use */
    ChangeWorkingUnitGL?: number;
    /** for internal use */
    ChangeBudgetType?: number;
    /** for internal use */
    ChangeBudgetAmount?: number;
    /** for internal use */
    ChangeBudgetUnit?: number;
    /** for internal use */
    ChangeByUserKey?: string | undefined;
    /** for internal use */
    PriorChangeKey?: string | undefined;
    /** for internal use */
    PriorBudgetChangeKey?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Details changes to a single line in a project budget since a specific snapshot */
export interface ProjectSnapshotDelta {
    /** WB (Cost) Code including mask characters */
    WBCode?: string | undefined;
    /** Account  (must be unique within ProjEntity group) */
    WBAcct?: string | undefined;
    /** EAC Amount posted to this line */
    PostedAmt?: number;
    /** EAC Units posted to this line */
    PostedQty?: number;
    /** EAC Amount pending to this line */
    UnpostedAmt?: number;
    /** EAC Units pending to this line */
    UnpostedQty?: number;
    /** FAC Amount posted to this line */
    FACPostedAmt?: number;
    /** FAC Units posted to this line */
    FACPostedQty?: number;
    /** FAC Amount pending to this line */
    FACUnpostedAmt?: number;
    /** FAC Units pending to this line */
    FACUnpostedQty?: number;
    /** Number of eac or fac revisions summarized here */
    RevCnt?: number;
    /** Bit mask that indicates what types of amounts are summarized: 2=EAC;4=FAC; 256=Actual to date; 512= Open Commitment */
    RevMask?: number;
    /** The DocNo of the first BR that changed this line after the reference snapshot */
    FirstDocNo?: string | undefined;
    /** new EAC amount for this line */
    TargetEAC?: number;
    /** new EAC Units for this line */
    TargetQTY?: number;
    /** new FAC amount for this line */
    TargetFAC?: number;
    /** new FAC Units for this line */
    TargetFACQTY?: number;
    /** new PTD actual amount for this line */
    TargetActual?: number;
    /** new PTD actual units for this line */
    TargetActQty?: number;
    /** new PTD open commitment amount for this line */
    TargetOpenCMT?: number;
    /** new PTD open commitment units */
    TargetCMTQty?: number;
    /** eTag */
    ETag?: string | undefined;
}
/** Primary Summary of project information for list of projects (location, etc) */
export interface ProjectSummary {
    /** Project ID */
    Project: string;
    /** Project Name */
    ProjectName?: string | undefined;
    /** Site Address Line 1 */
    Addr1?: string | undefined;
    /** Site Address Line 2 */
    Addr2?: string | undefined;
    /** Site Address City */
    City?: string | undefined;
    /** Site Address State */
    State?: string | undefined;
    /** Site Address Zip */
    Zip?: string | undefined;
    /** County */
    County?: string | undefined;
    /** Description from Project Setup Scope */
    Description?: string | undefined;
    /** Resolved Status */
    StatusText?: string | undefined;
    /** External Status from Project Setup Tab */
    ExternalStatus?: string | undefined;
    /** External Schedule from Project Setup Tab */
    ExternalSchedule?: string | undefined;
    /** Person on Site Address */
    Person?: string | undefined;
    /** Company */
    Company?: string | undefined;
    /** Geo Latitude from Project Setup Tab */
    latitude?: number;
    /** Geo longitude from Project Setup Tab */
    longitude?: number;
    /** Start Date from Project Setup Dates tab */
    StartDate?: Date;
    /** Finish Date from Project Setup Dates tab */
    FinishDate?: Date;
    /** Key for this user on project team */
    UserProjectKey?: string;
    /** Key for Project Setup Source Contact (Customer/Owner) */
    SourceContact?: string;
    /** Key for Image */
    ImageKey?: string;
    /** TRUE if this project is on the user list */
    UserList?: boolean;
    /** eTag */
    ETag?: string | undefined;
}
/** Attributes describing a member of a project team */
export interface ProjectTeamMember {
    /** Primary Key */
    UserProjectKey: string;
    /** Key of Team Member in contact table */
    UserKey?: string;
    /** Login name of the team member  (see UserName below) */
    UserKey_dv?: string | undefined;
    /** When TRUE, the contact for this team member has been marked inactive */
    UserKey_IsInactive?: boolean;
    /** C(ustomer), E(employee), V(endor) or 0 (zero or blank is 'other') */
    ContactType?: string | undefined;
    /** Key of Role Responsibility on this team (UCRoleKey) */
    Responsibility?: string;
    /** Role Name (see Responsibility) */
    Responsibility_dv?: string | undefined;
    /** Login name of the team member */
    UserName?: string | undefined;
    /** Company Name (Acme Inc) */
    Company?: string | undefined;
    /** Email address */
    email?: string | undefined;
    /** Phone chosen as primary on the contact details */
    UsePhone?: string | undefined;
    /** Phone   */
    Phone?: string | undefined;
    /** Cell/Mobile Phone   */
    Cell?: string | undefined;
    /** Freeform: how the team member designates this project   */
    ContactProject?: string | undefined;
    /** Familiar Name (Nick for Nicholas, Liz for Elizabeth)  */
    FamiliarName?: string | undefined;
    /** Role Description */
    RoleDescription?: string | undefined;
    /** Link to likeness of this team member */
    LikenessURL?: string | undefined;
    /** Link to an external resource associated with this team member */
    WebURL?: string | undefined;
    /** By default, When the team member was added  */
    Starting?: Date | undefined;
    /** When the team member left (or was replaced) */
    Ending?: Date | undefined;
    /** When TRUE,  shown by default */
    TeamList?: boolean;
    /** When TRUE, is visible on this team even to users that do not have can see all */
    IsPublic?: boolean;
    /** When TRUE, this team member is active */
    Active?: boolean;
    /** Indicates if the user is always public (as opposed to public on this team: see IsPublic) */
    UserNotPublic?: boolean;
    /** custom amount */
    csAmount?: number;
    /** custom amount */
    csValue?: number;
    /** custom quantity */
    csQty?: number;
    /** custom whole number */
    csNumber?: number;
    /** custom boolean */
    csCheck?: boolean;
    /** custom boolean */
    csFlag?: boolean;
    /** custom note */
    csNote?: string | undefined;
    /** custom code (potential code list lookup) */
    csCode?: string | undefined;
    /** custom string */
    csString016?: string | undefined;
    /** custom string */
    csString030?: string | undefined;
    /** custom string */
    csString040?: string | undefined;
    /** custom string */
    csString050?: string | undefined;
    /** custom string */
    csString060?: string | undefined;
    /** custom string */
    csString080?: string | undefined;
    /** custom string */
    csString100?: string | undefined;
    /** custom string */
    csString120?: string | undefined;
    /** custom string */
    csString240?: string | undefined;
    /** custom key - usually for a person */
    csContactKey?: string | undefined;
    /** custom key */
    csKey?: string | undefined;
    /** custom date */
    csDate?: Date | undefined;
    /** custom date */
    csWhen?: Date | undefined;
    /** eTag */
    ETag?: string | undefined;
    /** Collection of commands for this row */
    MenuCommands?: MenuAction[] | undefined;
}
/** Read only description of an cost transaction posted to a project */
export interface ProjectTranDetail {
    /** Key for this transaction (does not persist) */
    RowKey: string;
    /** Account Category */
    acct?: string | undefined;
    /** Rarely used allocation flag */
    alloc_flag?: string | undefined;
    /** Amount  */
    amount?: number;
    /** Typically US */
    BaseCuryId?: string | undefined;
    /** Batch ID */
    batch_id?: string | undefined;
    /** Batch Type  */
    batch_type?: string | undefined;
    /** Billing Batch ID  */
    bill_batch_id?: string | undefined;
    /** Company Division ID  */
    CpnyId?: string | undefined;
    /** When this transaction was written */
    crtd_datetime?: Date;
    /** Id of Source logic that recorded this transaction */
    crtd_prog?: string | undefined;
    /** User ID under which this transaction was recorded  */
    crtd_user?: string | undefined;
    /** No known use */
    data1?: string | undefined;
    /** No known use */
    detail_num?: number;
    /** Employee ID */
    employee?: string | undefined;
    /** Fiscal Period (YYYYMM) */
    fiscalno?: string | undefined;
    /** GL Account number */
    gl_acct?: string | undefined;
    /** GL Subaccount number */
    gl_subacct?: string | undefined;
    /** Last Update of this transaction (typically matches CRTD_) */
    lupd_datetime?: Date;
    /** Source logic of this transaction (typically matches CRTD_) */
    lupd_prog?: string | undefined;
    /** Source user generating this transaction (typically matches CRTD_) */
    lupd_user?: string | undefined;
    /** Project Cost Code */
    pjt_entity?: string | undefined;
    /** posting Date of this transaction */
    post_date?: Date;
    /** ID of Project (suitable for use as a key) */
    project?: string | undefined;
    /** Reference to related subcontract  */
    Subcontract?: string | undefined;
    /** System Code */
    system_cd?: string | undefined;
    /** Transaction Date */
    trans_date?: Date;
    /** Transaction Comment */
    tr_comment?: string | undefined;
    /** No known use */
    tr_id01?: string | undefined;
    /** Invoice Number */
    InvoiceNumber?: string | undefined;
    /** PO Number */
    PONumber?: string | undefined;
    /** Source Batch Number */
    SourceBatchNumber?: string | undefined;
    /** Labor Class */
    LaborClass?: string | undefined;
    /** Maps from Voucher PayItemNumber */
    tr_id23?: string | undefined;
    /** Transaction Status */
    tr_status?: string | undefined;
    /** UOM (code) */
    unit_of_measure?: string | undefined;
    /** Units */
    units?: number;
    /** Vendor Number */
    vendor_num?: string | undefined;
    /** Voucher Line */
    voucher_line?: number;
    /** Voucher Number */
    voucher_num?: string | undefined;
    /** Employee Name (blank if user lacks permission) */
    emp_name?: string | undefined;
    /** Vendor Name   */
    name?: string | undefined;
    /** Equipment ID */
    equip_id?: string | undefined;
    /** Inventory ID  */
    invtid?: string | undefined;
    /** Lot Serial Number */
    lotsernbr?: string | undefined;
    /** Site ID (inventory location) */
    siteid?: string | undefined;
    /** Wharehouse Location */
    whseloc?: string | undefined;
    /** Inventory Description */
    Descr?: string | undefined;
    /** Is XTS transaction  */
    IsXTS?: boolean;
    /** Identifies a Document */
    DocMasterKey?: string;
    /** Document Title */
    DocTitle?: string | undefined;
    /** Account Type (EX or RV) */
    Acct_Type?: string | undefined;
    /** No known use */
    Acct_TranClass?: string | undefined;
    /** Account Class (L, B, E, etc) */
    Acct_Class?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes an WB Code that is part of a Project WBS */
export interface ProjectWBS {
    /** Row Key */
    ProjectWBSKey?: string;
    /** ID of Project  */
    Project?: string | undefined;
    /** Work Breakdown code, often a combination of a CSI and phase */
    WBCode?: string | undefined;
    /** Free form explaination or generic description (!!!) */
    Description?: string | undefined;
    /** FP/TM etc as site defined in xsfDocTypeSubcodes */
    ContractType?: string | undefined;
    /** Code for Unit of Measure (from Code List, set UOM) */
    UOM?: string | undefined;
    /** Status code */
    Status?: string | undefined;
    /** Links WBS item to a SOV item */
    SOVLine?: string | undefined;
    /** DMK of SOV that adds this line */
    SOVRootDMK?: string;
    /** Date scheduled to start */
    SchedStart?: Date;
    /** Date scheduled to finish */
    SchedFinish?: Date;
    /** Date of actual start */
    ActStart?: Date;
    /** Date of actual finish */
    ActFinish?: Date;
    /** Percent Complete */
    PercentComplete?: number;
    /** CP, FP or UP  */
    CostingMethod?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Primary Site Weather Now */
export interface ProjectWeatherNow {
    /** Description of location */
    At?: string | undefined;
    /** Barometer */
    Barometer?: number;
    /** Descriptio of condition (cloudy) */
    Condition?: string | undefined;
    /** Dew Point  */
    DewPoint?: number;
    /** Feels Like */
    FeelsLike?: number;
    /** URI to full forecast */
    Forecast?: string | undefined;
    /** Current Humidity */
    Humidity?: number;
    /** URI to icon  */
    Icon?: string | undefined;
    /** When this reading was taken */
    Obtained?: Date;
    /** Source of weather data (usually noaa) */
    Provider?: string | undefined;
    /** When reading was acquired */
    Reported?: string | undefined;
    /** Temperature (F) */
    Temperature?: number;
    /** Visibility (miles) */
    Visibility?: number;
    /** Wind (MPH) */
    Wind?: number;
    /** Description of Wind/direction */
    WindInfo?: string | undefined;
    /** Zip Code for which this reading was obtained */
    ZipCode?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** information about the external sync of a project with a peer */
export interface ProjectXTSTaskState {
    /** Internal Name for this type of Sync'd data */
    AlienSet: string;
    /** Description of this type of sync task;  */
    PeerDataType: string;
    /** Read, Sent, To Do */
    Direction: string;
    /** Approximate number of these objects; for Queue, the number completed in the last minute */
    MapCount?: number;
    /** The date and time as of which data for this task should be current */
    AsOf?: Date | undefined;
    /** The highest key currently mapped */
    HighKey?: string | undefined;
    /** The number of failing tasks   */
    Failing?: number;
    /** The number of queued tasks   */
    Queued?: number;
    /** eTag */
    ETag?: string | undefined;
}
/** Primary Site Weather Now */
export interface ProjKPIFact {
    /** Target which KPI column */
    Column?: string | undefined;
    /** Label  */
    Label?: string | undefined;
    /** Value to display */
    Value?: string | undefined;
    /** Set if value has a click action */
    Action?: string | undefined;
    /** Display Format (C2) */
    DForm?: string | undefined;
    /** CSS to apply */
    TForm?: string | undefined;
    Negative?: boolean;
    /** UI CFG Item Name */
    ItemName?: string | undefined;
}
/** Various common filters - not every filter is supported by every query */
export interface QueryFilters {
    /** Project Mask (eg GC%) */
    ProjectLike?: string | undefined;
    /** Applies to common text (title, description, etc) */
    TitleLike?: string | undefined;
    /** Document number (0001, 16%) */
    DocNoLike?: string | undefined;
    /** Key for a company; use 00000000-0000-0000-0000-000000000000 for unspecified */
    CompanyKey?: string | undefined;
    /** Key for a contact/person; Use 00000000-0000-0000-0000-000000000000 for unspecified */
    ContactKey?: string | undefined;
    /** Key for a the current or proxy user; Use 00000000-0000-0000-0000-000000000000 for unspecified */
    UserKey?: string | undefined;
    /** Key for a specific file, limits result to one match.  For WithAttachedFile search use an NVP */
    FileKey?: string | undefined;
    /** Key for a specific spitfire document */
    DocMasterKey?: string | undefined;
    /** SCOPE (Bit Mask)
                1	-- Source - SourceContact
2	-- To   - DocAddr
                4	-- From - DocAddr
                8	-- Responsible Party
               16	-- Item - Responsible Party
               32	-- Attendee
             */
    ContactScope?: string | undefined;
    /** When true, any contact at the same company matches */
    CompanyWide?: boolean;
    /** Key must match an existing document type */
    ForDocType?: string | undefined;
    /** Key for Program or empty key */
    ProgramKey?: string | undefined;
    /** Pair of dates. Applied to DocDate, or Catalog Date; Default is all dates */
    PrimaryDateRange?: DateRange | undefined;
    /** Pair of dates.  Applied to Doc Due Date or Catalog Reference Date; Default is all dates */
    RefDateRange?: DateRange | undefined;
    /** When true, results includes items marked as read; default is false */
    NewOnly?: boolean;
    /** When true, results includes items marked as closed; default is false */
    IncludeClosed?: boolean;
    /** When true, results includes items marked as hidden; default is false */
    IncludeHidden?: boolean;
    /** When true, results includes documents; default is false */
    IncludeDocs?: boolean;
    /** When true, results includes files; default is true */
    IncludeFiles?: boolean;
    /** When true, results are for display in a planroom; seldom used; default is false */
    ForPlanRoom?: boolean;
    /** Contains text (for full text search) */
    ContainsText?: string | undefined;
    /** MD5 Hash (used with length for binary content equivalence) */
    HasHash?: string | undefined;
    DependsOn?: string[] | undefined;
    /** seed */
    MatchingSeed?: string | undefined;
    /** max number of results */
    ResultLimit?: number;
    /** Timeout Factor - when greater than 1, increase query timeout to n* factor;   */
    TimeoutFactor?: number;
    /** Name Value Pair filter values (semicolon separated) */
    nvpFilters?: string | undefined;
    /** Key Value pairs of Keys and ETags, applicable to change/diffgram endpoints */
    ClientDataSummary?: CurrentDataSummary[] | undefined;
}
export interface RangeConditionHeaderValue {
    Date?: Date | undefined;
    EntityTag?: EntityTagHeaderValue | undefined;
}
export interface RangeHeaderValue {
    Unit?: string | undefined;
    Ranges?: RangeItemHeaderValue[] | undefined;
}
export interface RangeItemHeaderValue {
    From?: number | undefined;
    To?: number | undefined;
}
/** Represents an action result for a <see cref="F:System.Net.HttpStatusCode.Redirect"/>. */
export interface RedirectResult {
    /** Gets the location at which the content has been created. */
    Location?: string | undefined;
    /** Gets the request message which led to this result. */
    Request?: HttpRequestMessage | undefined;
}
/** Describes an SPRLineDetails Condition */
export interface RelatedItemDetail {
    /** ID of Project (suitable for use as a key) */
    Project?: string | undefined;
    /** Reference to related subcontract  */
    Subcontract?: string | undefined;
    /** key of corresponding item on the subcontract document */
    SCDocItemKey?: string;
    /** Approved (Paid) Quantity */
    ApprovedQuantity?: number;
    /** Approved Retention  */
    ApprovedRetention?: number;
    /** Change Order Approved  */
    ApprovedAmount?: number;
    /** Change Order Approved  */
    ApprovedExpense?: number;
    /** Change Order Units not yet approved */
    PendingChangeUnits?: number;
    /** not yet approved */
    PendingChangeRetention?: number;
    /** Change Order amount, not yet approved */
    PendingChangeAmount?: number;
    /** not yet approved */
    PendingChangeExpense?: number;
    /** Paid Units */
    VoucheredUnits?: number;
    /** Paid Amount */
    VoucheredAmount?: number;
    /** Paid Stored Material amount */
    VoucheredSMAmount?: number;
    /** Amount Earned but held as retention */
    VoucheredRetention?: number;
    /** Amount Earned but held as retention for stored materials */
    VoucheredSMRetention?: number;
    /** Payment request units not yet approved */
    PRInProgressQuantity?: number;
    /** Payment retention  not yet approved */
    PRInProgressRetention?: number;
    /** Payment amount  not yet approved */
    PRInProgressAmount?: number;
    /** Units received */
    ReceivedUnits?: number;
    /** Units tentatively received  not yet approved */
    ReceiptInProgressUnits?: number;
    /** Amount of line (includes approved changes orders) */
    ContractAmount?: number;
    /** Units on line, includes change orders */
    ContractUnits?: number;
    /** Percent */
    TotalPercentRequest?: number;
    /** Units */
    TotalUnitsCompleted?: number;
    /** Amount (typically Vouchered Amount) */
    TotalAmountCompleted?: number;
    /** Previous amount (documents of same kind with lesser document number) */
    TotalPriorAmount?: number;
    /** WB Task Code  */
    ProjEntity?: string | undefined;
    /** Weak link to accounting GL Account */
    GLAcct?: string | undefined;
    /** Weak link to Accounting GL Subaccount */
    GLSub?: string | undefined;
    /** Code of Labor Class  */
    LaborClass?: string | undefined;
    /** Work Breakdown Account (Labor, Materials, Equipment, etc) */
    AccountCategory?: string | undefined;
    /** None or % of Total(TL) */
    RetentionMethod?: string | undefined;
    /** Used for Retention Percent if RetentionMethod is TL */
    ItemPercent?: number;
    Rate?: number;
    /** calculated */
    LineDesc?: string | undefined;
    /** When true, this line will have amount enforced as a max */
    Cap?: boolean;
    /** Code for Unit of Measure (from Code List, set UOM) */
    UOM?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Data to apply to the route being patched */
export interface RouteActionData {
    /** New Status Code (A for approved, B for Back, etc.  Use UNREAD for setting to unviewed) */
    NewStatus?: string | undefined;
    /** Response Code */
    ResponseCode?: string | undefined;
    /** Freeform text for response note */
    ResponseText?: string | undefined;
}
/** Route Action Item */
export interface RouteActionInfo2 {
    /** Key of document */
    DocMasterKey: string;
    /** Name of User */
    UserName?: string | undefined;
    /** Title of document */
    Title?: string | undefined;
    /** Document Number */
    DocNo?: string | undefined;
    /** Type of Document */
    Type?: string | undefined;
    /** Project */
    Project?: string | undefined;
    /** Status */
    Status?: string | undefined;
    /** Company
             */
    Company?: string | undefined;
    /** Document Priority */
    Priority?: number;
    /** Current Route sequence */
    Sequence?: number;
    /** When due */
    Due?: string | undefined;
    /** when first viewed */
    Viewed?: string | undefined;
    /** when a notification was sent */
    Alerted?: string | undefined;
    /** when content was downloaded */
    Downloaded?: string | undefined;
    /** when the prior route sequence was resolved (when this route sequence was reached) */
    FromActed?: string | undefined;
    /** Creator */
    CreatorActed?: string | undefined;
    /** Ok to release */
    OkToRelease?: boolean;
    /** The Route Response drop down is relevant */
    ShowRouteResponseCode?: boolean;
    /** The Route Response text area is relevant */
    ShowRouteResponseArea?: boolean;
    /** hard copy  */
    HardCopyCount?: number;
    /** how many are ok to release */
    OkToReleaseCount?: number;
    /** how many match */
    ReleaseMatchCount?: number;
    /** The Route Response code   */
    ResponseCode?: string | undefined;
    /** Note */
    Note?: string | undefined;
    /** Response (entered here) */
    Response?: string | undefined;
    /** Instructions to this person */
    Instructions?: string | undefined;
    /** Who from */
    FromWho?: string | undefined;
    /** who added this route */
    CreatedBy?: string | undefined;
    /** who is next */
    NextWho?: string | undefined;
    /** information about this document access history */
    AccessSummary?: string | undefined;
    /** URL to open detailed report of history */
    DocAccessHistoryReportURL?: string | undefined;
    /** when this document was last saved */
    LastSaved?: string | undefined;
    /** if not empty, who currently is working on the document */
    ExclusiveTo?: string | undefined;
    /** Key of document process type */
    DocTypeKey?: string;
    /** Status choices */
    StatusChoices?: SelectCodeNode[] | undefined;
    /** Response code choices */
    ResponseCodeChoices?: SelectCodeNode[] | undefined;
    /** docs that match */
    MatchingDocs?: SelectCodeNode[] | undefined;
    /** eligible docs */
    EligibleDocs?: SelectCodeNode[] | undefined;
}
export interface RouteActionInfo extends RouteActionInfo2 {
}
/** Key value pair */
export interface SelectCodeNode {
    /** the key */
    Key?: string | undefined;
    /** the value */
    Value?: string | undefined;
}
/** Legacy Site Authentication */
export interface SiteLogin {
    /** User ID EG: george@acme.com */
    UID?: string | undefined;
    /** Password */
    PW?: string | undefined;
    /** Set to TRUE if password has already been hashed (rare) */
    IsHashed?: boolean;
    /** the offset from UT at the user device (typically negative for ET) */
    tzOffset?: number;
}
/** General abstract information about an SOV document */
export interface SOVAbstract {
    /** Project ID */
    Project: string;
    /** Various Project Attributes  */
    ProjectDetails?: ProjectAbstract | undefined;
    /** Subtype description */
    SubtypeDescription?: string | undefined;
    /** Full name of current user  DescribeValue("sfUser") */
    UserName?: string | undefined;
    /** Full UserLogin of current user    */
    UserLogin?: string | undefined;
    /** Flex Key mask for projects DescribeValue("FlexKeyMask", "PROJECT") */
    ProjectIDMask?: string | undefined;
    /** Flex Key mask for projects DescribeValue("FlexKeyMask", "TASK") */
    WBCodeMask?: string | undefined;
    /** Flex Key mask for projects DescribeValue("FlexKeySeparator", "PROJECT") */
    ProjectSegmentSeparator?: string | undefined;
    /** Flex Key mask for projects DescribeValue("FlexKeySeparator", "TASK") */
    WBCodeSegmentSeparator?: string | undefined;
    /** Returns fiscal period from this document  */
    FiscalPeriodThisDocument?: string | undefined;
    /** Returns current fiscal period */
    FiscalPeriodCurrent?: string | undefined;
    /** Additional Name-Value Pairs */
    OtherProperties?: {
        [key: string]: any;
    } | undefined;
    /** returns true if units are enabled by SOVCONFIG | SOVWithUnits for this subtype */
    DisplayUnits?: boolean;
    /** returns true if original line value tracking is enabled by SOVCONFIG | TrackOriginal for this subtype */
    TrackOriginalSOV?: boolean;
    /** returns true if multiple SOV chains are enabled by SOVCONFIG | SOVPlural for this subtype */
    SOVPlural?: boolean;
    /** returns true if GL is Account Category is enabled by SOVCONFIG | RevenueAccountByBillingCode for this subtype */
    SOVGLAccNbrFromBC?: boolean;
    /** returns true if AllowPostToAnyPeriod is enabled by BudgetConfig | AllowPriorPeriods   */
    AllowPostToAnyPeriod?: boolean;
    /** returns true if AllowPostToAnyPeriod is enabled by SOVCONFIG | BFCL-Enabled for this subtype */
    CommitmentAutoFill?: boolean;
    /** returns true if tax retention when released is enabled by SOVCONFIG | TaxRetentionWhenReleased for this subtype */
    TaxRetentionWhenReleased?: boolean;
    /** returns true if tax retention when released is enabled by SOVCONFIG | SOVCOLineMerge for this subtype */
    COSOVLineMerge?: boolean;
    /** returns true if Project Setup can have zero item is enabled by ProjectConfig | AllowNoItems   */
    ProjectSetupCommitWithoutItems?: boolean;
    /** Source Number field from Project Setup */
    ProjectSourceDocNO?: string | undefined;
    /** Alias for DMK for Project Setup document */
    ProjectDocMasterKey?: string;
    /** Alias for ProjectDetails.DocState */
    DocState?: string | undefined;
    /** Alias for ProjectDetails.Subtype */
    ProjectSubtype?: string | undefined;
    /** Alias for ProjectDetails.ProjectTitle (from project setup) */
    ProjectName?: string | undefined;
    /** Alias for ProjectDetails.ProjectIDMasked  */
    ProjectID?: string | undefined;
    /** Alias for ProjectDetails.ProjectFinishDate  */
    ProjectFinishDate?: Date | undefined;
    /** Alias for ProjectDetails.ProjectFinishDate  */
    ProjectStartDate?: Date | undefined;
    /** Returns true if this project is connected to an XTS peer */
    ProjectIntegrationIsXTS?: boolean;
    /** returns same as DV("ProjectSignOff", projectid, Nothing) */
    ProjectSignOff?: Date | undefined;
    /** returns same as DV("ProjectPayNumber", projectid, Nothing) */
    ProjectContractFor?: string | undefined;
    /** This value is never set */
    ProjectContractDate?: Date | undefined;
    /** returns same as DV("ProjectParent", projectid, Nothing) */
    ParentProjectNumber?: string | undefined;
    /** returns title of Parent Project (see ParentProjectNumber) */
    ParentProjectName?: string | undefined;
    /** Customer ID, alias for From Project Setup Source Contact */
    ProjectCustomer?: string | undefined;
    /** Name of Responsible Party contact from Project Setup  */
    BillerName?: string | undefined;
    /** Returns any available peer AR Bill Information  */
    BillInfo?: string | undefined;
    /** Returns CWRetention from Project Setup like dv("ProjectCW", projectID, Nothing) */
    ProjectSetupWorkRetention?: number;
    /** Returns SMWRetention from Project Setup like dv("ProjectSM", projectID, Nothing) */
    ProjectSetupMaterialRetention?: number;
    /** Returns TaxID from Project Setup  like dv("ProjectTaxID",projectid,nothing) */
    ProjectSetupTaxID?: string | undefined;
    /** Returns TaxRate from Project Setup like dv("ProjectTaxRate", projectID, Nothing) */
    ProjectSetupTaxRate?: number;
    /** Returns TaxRate from tax rate table based on tax id from Project Setup like dv("TaxRate", tax-id, Nothing) */
    TheTableRate?: number;
    /** Returns description of Owner Direct Account Category ???  */
    InitialOwnerDirectPayDescription?: string | undefined;
    /** Returns description Highest line number of this SOV */
    HighPreviousLineNo?: string | undefined;
    /** Returns fiscal period from this document  */
    FiscalPeriodThisSOV?: string | undefined;
    /** The max percent a line can be billed (SOVConfig | MaxPercent) */
    MaxPercentage?: number;
    /** SOVConfig | RevenueWBCode for this project subtype */
    InitialRevenueEntity?: string | undefined;
    /** SOVConfig | RevenueAccount for this project subtype */
    InitialAccountCategory?: string | undefined;
    /** SOVConfig | SOVExportToFB  for this project subtype */
    ExportTriggerStatus?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
export interface Stream extends MarshalByRefObject {
    CanRead?: boolean;
    CanSeek?: boolean;
    CanTimeout?: boolean;
    CanWrite?: boolean;
    Length?: number;
    Position?: number;
    ReadTimeout?: number;
    WriteTimeout?: number;
}
export interface StringWithQualityHeaderValue {
    Value?: string | undefined;
    Quality?: number | undefined;
}
/** Attributes describing a member of a project team */
export interface Suggestion {
    /** Key (empty if not applicable) */
    key?: string | undefined;
    /** display  */
    label?: string | undefined;
    /** value (if key is specified, this is the display value and key is the data value) */
    value?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Legacy Site Authentication */
export interface TabDisplay {
    /** Primary display of tab */
    Label?: string | undefined;
    /** Mouseover display (mostly for classic UI) */
    Tip?: string | undefined;
}
/** Defines a tab */
export interface TabStripDetails {
    /** ID */
    TabId: number;
    /** Key */
    TabKey: string;
    /** Label */
    TabText?: string | undefined;
    /** Sequence */
    TabOrder?: number;
    /** Type */
    TabType?: string | undefined;
    /** semicolon separated list of roles or * */
    AuthorizedRoles?: string | undefined;
    /** Lookup Name (for when the tab includes a primary lookup) */
    LookupName?: string | undefined;
    /** URL */
    LinkURL?: string | undefined;
    /** tool tip */
    Tip?: string | undefined;
    /** visible when true */
    IsVisible?: boolean;
}
/** Defines a payload intended for retrieval using a token */
export interface TokenRequest {
    /** Key for User for whom the alert was generated */
    UserKey?: string;
    /** Name of User  */
    FullName?: string | undefined;
    /** Max Idle time allowed in minutes */
    IdleForce?: number;
    /** Icon Height (for classic UI)   */
    IconHeight?: number;
    /** Key for Operation */
    DataPK?: string | undefined;
    /** Key for Document Session */
    DocSessionKey?: string | undefined;
    /** Key for User Session */
    LoginSessionKey?: string;
    /** Key for Site  */
    SiteID?: string;
    /** Context ID String */
    dsCacheKey?: string | undefined;
    /** Page Name  */
    PageName?: string | undefined;
    /** Part Name  */
    PartName?: string | undefined;
    /** Magic number. When changes, UI settings have changed */
    uiVaryBy?: number;
    /** Indicates if user holds exclusive access  */
    DataLockFlag?: string | undefined;
    /** When true, this user has opted out of Analytic data collection */
    GAFMOptOut?: boolean;
    /** Time offset in hours */
    TZOffset?: number;
    /** Payload  */
    Args?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
export interface TransferCodingHeaderValue {
    Value?: string | undefined;
    Parameters?: NameValueHeaderValue[] | undefined;
}
export interface TransferCodingWithQualityHeaderValue extends TransferCodingHeaderValue {
    Quality?: number | undefined;
}
/** Summary of Project Process (Document) types */
export interface TypeSummary {
    /** Key for Process Type */
    DocTypeKey: string;
    /** String Process (Doc Type) Name */
    DocType?: string | undefined;
    /** Number of documents currently open */
    cnt_open?: number;
    /** Number of documents closed */
    cnt_closed?: number;
    /** Number of documents overdue */
    cnt_overdue?: number;
    /** Number of documents due soon */
    cnt_DueSoon?: number;
    /** Number of days tile due */
    DaysTillDue?: number;
    /** User has permission to create  */
    CanAdd?: boolean;
    /** URI to SOP Resource for this process type */
    SOPLink?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** Permissions for a specific function */
export interface UCPermit {
    /** If not empty, for a specific document (rare) */
    DocMasterKey?: string | undefined;
    /** If not empty, for a specific doc reference(rare) */
    DocReference?: string | undefined;
    /** If not empty, for a specific document process type(Common) */
    DocTypeKey?: string | undefined;
    /** When true, has read permission */
    ReadOK?: boolean;
    /** When true, has read permission */
    InsOK?: boolean;
    /** When true, has read permission */
    UpdOK?: boolean;
    /** When true, has read permission */
    DelOK?: boolean;
    /** When true, has read permission */
    BlanketOK?: boolean;
    /** When true, there is no restriction on this permission */
    IsGlobal?: boolean;
}
/** Describes a set of permissions for this user */
export interface UCPermitSet {
    /** Key of this item */
    Project: string;
    /** Links to Module|Function  */
    Permits?: {
        [key: string]: UCPermit[];
    } | undefined;
}
/** Describes the live configuration for a UI element (not for edit, see UIPartConfig) */
export interface UIDisplayConfig {
    /** Key for this Configuration Entry (for link to edit mode) */
    PartConfigKey?: string;
    /** One of the UI item names listed in Page.Config (PartCfgItem) */
    ItemName?: string | undefined;
    /** Name of a table in the XSF schema (similar to SQL table name; may not match API model name) */
    DataMember?: string | undefined;
    /** Name of a field in the schema */
    DataField?: string | undefined;
    /** Name of a js type */
    DataType?: string | undefined;
    /** The visible label for this entry */
    Label?: string | undefined;
    /** F2, C4, etc, plus some special cases (see KBA) */
    DisplayFormat?: string | undefined;
    /** Name of lookup */
    LookupName?: string | undefined;
    /** see KBA-01336 (AuxData Name-Value Pairs) */
    OtherProperties?: {
        [key: string]: any;
    } | undefined;
    /** Click Action */
    ClickAction?: string | undefined;
    /** Parent Filters (semicolon separated) */
    ParentFilters?: string | undefined;
    /** UI Tip text */
    TipText?: string | undefined;
    /** For quick help */
    HelpText?: string | undefined;
    /** For overriding length, in characters allowed in this field.  See also MaxChars */
    LimitTo?: number;
    /** Max characters, for character types, this is from database size */
    MaxChars?: number;
    /** For indicating a value is (or can sometimes be) required (zero is not required) */
    RequiredBefore?: number;
    /** For controlling sequence (tab order) */
    SeqData?: number;
    /** When TRUE, UI will be read only */
    IsReadOnly?: boolean;
    /** Controls the default visible attribute   */
    Visible?: boolean;
    /** When true, the user cannot show or hide this column.  Server config is locked */
    VisibleLocked?: boolean;
    /** When true, this data is object is from internal defaults */
    IsInternalDefault?: boolean;
    /** RX Pattern.  If specified, proposed values must match */
    RXPattern?: string | undefined;
    /** CSS to be applied */
    CSS?: string | undefined;
    /** Client Side Describe Value name */
    DV?: string | undefined;
    /** Lookups and DV depend on these fields (up to 4) */
    DependsOn?: string | undefined;
    /** When 1, allow HTML */
    HTML?: boolean;
    /** HTML 5 Placeholder text */
    Overlay?: string | undefined;
    /** When set, display an info-pop style add on along side this ui elment.  Content comes from the specified peer data field */
    ShowInfoPop?: string | undefined;
    /** Limits Visibility to certain conditions */
    ShownWhen?: string | undefined;
    /** Indicates if this column is part of the default sort A for Ascending, D for Descending */
    SortFlag?: string | undefined;
    /** 0 for none, empty typically defaults to excelFilter.
other possibilities
'spitfireDateRangeFilter' // for datetime type
'spitfireDynamicTextFilter'  // for long text fields, w/wo HTML, UIType=freeform, css uiText
'spitfireTextFilter' // not currently used
'spitfireSingleSelectFilter' // for css uiSingle
'spitfireMultiSelectFilter' // for css uiMulti
'spitfireTrueFalseSingleSelectFilter' // for DataType Boolean, uiType Checkbox, CSS uiBool
'spitfirePriorityMultiSelectFilter'  */
    ClientFilter?: string | undefined;
    /** DV function used to validate */
    ValidateAgainst?: string | undefined;
    /** DV function used to validate alternate text (such as email -> contact) */
    ValidateTextAgainst?: string | undefined;
    /** Max */
    ValidationMax?: string | undefined;
    /** Min */
    ValidationMin?: string | undefined;
    /** 0 — the default – no validation
2 — Numeric
3 — Any Date(implicit date range validation may also apply); see also CSS=uiAnyDate(above)
4 — Future Date(implicit date range validation may also apply)
5 — Positive Numeric
6 — Integer
7 — Positive Integer
8 — Until Date(any date up to including today) (implicit date range validation may also apply, see kba-01336)
16 — Non empty */
    ValidationMode?: string | undefined;
    /** When true, configurable for legacy UI */
    ViaUI?: boolean;
    /** Width expressed in Pixels (if possible) */
    Width?: number;
    /** HTML friendly, CSS compliant width; eg 20ex or 40% */
    WidthCSS?: string | undefined;
    /** When true, configurable for WebIX UI */
    WbxUI?: boolean;
    /** When true, field is visible by default */
    DefaultVisible?: boolean;
    /** textbox, freeform, checkbox, contact, selectone (see ENUM UITypeNames) */
    UIType?: string | undefined;
    /** Bit coded information about field behavior (legacy UI) */
    UIFlags?: number;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes the basic configuration for a UI element */
export interface UIDisplayConfigBasics {
    /** Key for this Configuration Entry (for link to edit mode) */
    PartConfigKey?: string;
    /** One of the UI item names listed in Page.Config (PartCfgItem) */
    ItemName?: string | undefined;
    /** Name of a table in the XSF schema (similar to SQL table name; may not match API model name) */
    DataMember?: string | undefined;
    /** Name of a field in the schema */
    DataField?: string | undefined;
    /** The visible label for this entry */
    Label?: string | undefined;
    /** F2, C4, etc, plus some special cases (see KBA) */
    DisplayFormat?: string | undefined;
    /** Width expressed in Pixels (if possible) */
    Width?: number;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes the live configuration for a UI filter (not for edit, see UIPartConfig) */
export interface UIDisplayFilter {
    /** Key for this Configuration Entry (for link to edit mode) */
    PartConfigKey?: string;
    /** One of the UI item names   */
    ItemName?: string | undefined;
    /** Name of a table in the XSF schema (similar to SQL table name; may not match API model name) */
    DataMember?: string | undefined;
    /** Name of a field in the schema */
    DataField?: string | undefined;
    /** The visible label for this entry */
    Label?: string | undefined;
    /** Name of lookup */
    LookupName?: string | undefined;
    /** textbox, freeform, checkbox, contact, selectone (see ENUM UITypeNames) */
    UIType?: string | undefined;
    /** F2, C4, etc, plus some special cases (see KBA) */
    DisplayFormat?: string | undefined;
    /** see KBA-01336 */
    AuxData?: {
        [key: string]: any;
    } | undefined;
    /** UI Tip text */
    TipText?: string | undefined;
    /** For quick help */
    HelpText?: string | undefined;
    /** For overriding allowed length */
    LimitTo?: number;
    /** Provides a default for a filter ( 1 for true/checked ) */
    DefaultValue?: string | undefined;
    /** Controls the visible attribute (or sets a boolean value) */
    Visible?: boolean;
    /** When true, this data is object is from internal defaults */
    IsInternalDefault?: boolean;
    /** CSS to be applied */
    CSS?: string | undefined;
    /** Client Side Describe Value name */
    DV?: string | undefined;
    /** Lookups and DV depend on these fields (up to 4) */
    DependsOn?: string | undefined;
    /** HTML 5 Placeholder text */
    Overlay?: string | undefined;
    /** Limits Visibility to certain conditions */
    ShownWhen?: string | undefined;
    /** DV function used to validate */
    ValidateAgainst?: string | undefined;
    /** DV function used to validate alternate text (such as email -> contact) */
    ValidateTextAgainst?: string | undefined;
    /** Max */
    ValidationMax?: string | undefined;
    /** Min */
    ValidationMin?: string | undefined;
    /** list of choices for this element (if applicable) */
    Choices?: Suggestion[] | undefined;
    /** When true, configurable for legacy UI */
    ViaUI?: boolean;
    /** When true, configurable for WebIX UI */
    WbxUI?: boolean;
    /** When true, field is visible by default */
    DefaultVisible?: boolean;
    /** Bit coded information about field behavior (legacy UI) */
    UIFlags?: number;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes a Part, including the fields available to this user */
export interface UIDisplayPart {
    /** Reference to UI Part by name (Alternate Key) */
    PartName?: string | undefined;
    /** What field typically filters this part (often DocTypeKey) */
    FilterParam?: string | undefined;
    /** Display Name  */
    DisplayName?: string | undefined;
    /** Free form explanation or generic description   */
    Description?: string | undefined;
    /** API hint */
    GetAPI?: string | undefined;
    /** When not empty, provides hint as to initial sort */
    SortHint?: string | undefined;
    /** G(rid);F(ilters);P(anel);T(abs)
D(ashboard);L(ayout);N(avigation);GG: multiple grid; CC: Combo Control */
    PartType?: string | undefined;
    /** List of UI Items  */
    UIItems?: UIDisplayConfig[] | undefined;
    /** List of UI filters  */
    UIFilters?: UIDisplayFilter[] | undefined;
    /** When true, configurable for legacy UI */
    ViaUI?: boolean;
    /** When true, configurable for WebIX UI */
    wbxUI?: boolean;
    /** When false, this row is ignored and ineffective */
    Active?: boolean;
    /** For client side cache expiration (when the stored value is less than the current value, reload) */
    LVMagicNumber?: string | undefined;
    /** eTag */
    ETag?: string | undefined;
}
/** A document currently routed to a specific user */
export interface UserActionItem {
    /** Key for the document */
    DocMasterKey: string;
    /** key for the route on the document */
    RouteID?: string;
    /** key for the type of document */
    DocTypeKey?: string;
    /** Same as DocType */
    DocTypeKey_dv?: string | undefined;
    /** Original key for the type of document */
    DocTypeKey_ov?: string;
    /** Project ID */
    Project?: string | undefined;
    /** Project Name (Resolved from Project ID) */
    cmp_Project_Name?: string | undefined;
    /** Document Number */
    DocNo?: string | undefined;
    /** Document Batch (seldom used) */
    DocBatchNo?: string | undefined;
    /** Due Date */
    Due?: Date | undefined;
    /** Title */
    Title?: string | undefined;
    /** Key for Contact this document is "from" */
    FromUser?: string;
    /** Key for Primary contact on this document */
    PrimaryContact?: string;
    /** Display value for Primary Contact  */
    PrimaryContact_dv?: string | undefined;
    /** Priority (1=high) */
    Priority?: number;
    /** Date this route was viewed */
    Viewed?: Date | undefined;
    /** Date this document was closed (or null) */
    Closed?: Date | undefined;
    /** Date this route was reaced */
    Reached?: Date;
    /** Route Instructions */
    Note?: string | undefined;
    /** Resolved Status of document */
    StatusText?: string | undefined;
    /** Status Code */
    Status?: string | undefined;
    /** Company Name */
    Company?: string | undefined;
    /** Current Route Sequence */
    Sequence?: number;
    /** When TRUE, it is OK to release this document without opening it */
    OkToRelease?: boolean;
    /** When True, is recent  */
    IsRecent?: boolean;
    /** How many files are attached */
    FilesAttached?: number;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes an Alert Condition */
export interface UserAlert {
    /** Key for Alert */
    AlertKey?: string;
    /** Key for User for whom the alert was generated */
    UserKey?: string;
    /** Document about which the alert was generated */
    DocMasterKey?: string | undefined;
    /** Document Display Value (Typically Title) */
    DocMasterKey_dv?: string | undefined;
    /** Status of Alert (New, etc) */
    Status?: string | undefined;
    /** Notification type (M for email) */
    NotificationType?: string | undefined;
    /** When this alert was created.  Alerts automatically expire in ??? days */
    Created?: Date;
    /** For Email Notification Type, when was the email sent */
    Notified?: Date;
    /** When was the alert viewed */
    Viewed?: Date;
    /** When action is due */
    Due?: Date;
    /** When closed (from document) */
    Closed?: Date;
    /** Short Description of alert */
    Description?: string | undefined;
    /** Long description (generated using AlertText rules) */
    AlertText?: string | undefined;
    /** Project ID */
    Project?: string | undefined;
    /** Project Display Value */
    Project_dv?: string | undefined;
    /** Source of alert (ATC, CloudStorage, etc) */
    Source?: string | undefined;
    /** Key from source to indentify its alerts */
    SourceKey?: string | undefined;
    /** Extra info for categorization */
    Info1?: string | undefined;
    /** Extra info 2 */
    Info2?: string | undefined;
    /** Files attached to document */
    FilesAttached?: number;
    /** unused */
    MsgType?: string | undefined;
    /** unused */
    MsgKey?: string | undefined;
    /** unused */
    MsgSuffix?: string | undefined;
    /** When true, this alert was from an external source (seldom used) */
    SIVAlert?: boolean;
    /** eTag */
    ETag?: string | undefined;
}
/** Information about a connected User */
export interface UserSessionInfo {
    /** Name of User */
    UserName: string;
    /** System */
    MachineName?: string | undefined;
    /** When connected */
    Since?: Date;
    LastURI?: string | undefined;
    LastReqInfo?: string | undefined;
    LastContext?: string | undefined;
    /** Number of requests */
    ReqCount?: number;
    /** session id */
    SessionID?: string | undefined;
    /** Agent Device  */
    AgentInfo?: string | undefined;
    /** Summary of Agent device */
    AgentSummary?: string | undefined;
    /** Key of user  */
    UserKey?: string;
}
export interface Version {
    Major?: number;
    Minor?: number;
    Build?: number;
    Revision?: number;
    MajorRevision?: number;
    MinorRevision?: number;
}
export interface ViaHeaderValue {
    ProtocolName?: string | undefined;
    ProtocolVersion?: string | undefined;
    ReceivedBy?: string | undefined;
    Comment?: string | undefined;
}
export interface WarningHeaderValue {
    Code?: number;
    Agent?: string | undefined;
    Text?: string | undefined;
    Date?: Date | undefined;
}
/** Primary Site Weather Now */
export interface WeatherAtLocation {
    /** Location (typically zip code) */
    LocationCode?: number;
    /** Description of Location (JFK Airport, New York, NY) */
    Location?: string | undefined;
    RecordedAt?: string | undefined;
    /** Source of data (usually NOAA weather.gov) */
    Provider?: string | undefined;
    /** Key of this record */
    WeatherInfoKey?: string;
    /** Key of this location */
    WeatherLocationKey?: string;
    /** When this reading was acquired */
    Reported?: Date;
    /** Weather condition summary (windy) */
    Conditions?: string | undefined;
    /** Visibility (in miles) */
    Visibility?: number;
    /** Temperature (F) */
    Temperature?: number;
    /** Feels like (F) */
    FeelsLike?: number;
    /** Dewpoint (F) */
    Dewpoint?: number;
    /** Relative Humidity */
    HumidityPct?: number;
    /** Description of wind direction */
    WindDirection?: string | undefined;
    /** Wind Speed (MPH) */
    Wind?: number;
    /** Barometric Pressure */
    Barometer?: number;
    /** eTag */
    ETag?: string | undefined;
}
export interface XferFilesStatus {
    name?: string | undefined;
    key?: string | undefined;
    size?: number;
    progress?: string | undefined;
    error?: string | undefined;
}
/** Describes an action on the external system sync queue */
export interface XTSAction {
    /** CloudSync, ERPData, etc */
    TDGroup?: string | undefined;
    /** SendAP, GetVendor, etc */
    TDActionType?: string | undefined;
    TDStatus?: string | undefined;
    Done?: number;
    /** Number of failed attempts */
    FailCount?: number;
    /** next scheduled  */
    Scheduled?: Date;
    /** task completed successfully */
    Completed?: Date;
    /** recurrence of this task */
    Recurs?: string | undefined;
    /** project id when applicable */
    Project?: string | undefined;
    /** link to map  */
    TDKeyMapKey?: string;
    /** Key */
    TDActionKey: string;
    /** eTag */
    ETag?: string | undefined;
}
/** Describes an action on the external system sync queue */
export interface XTSKeyMap {
    /** Primary Key */
    TDKeyMapKey: string;
    /** Map type (PMCommit, PMTran, APInvoice, etc) */
    AlienSet?: string | undefined;
    /** Key of related spitfire record */
    sfRecordKey?: string;
    /** Identifies data entry in sfPMS */
    sfRecordCode?: string | undefined;
    /** Peer primary key */
    AlienPKey?: string | undefined;
    /** Peer key  */
    AlienKey?: string | undefined;
    /** Peer compound key parts */
    AlienCompoundParts?: string | undefined;
    /** URL to resource in peer system */
    AlienLink?: string | undefined;
    /** When true, inbound updates are blocked */
    BlockIn?: boolean;
    /** When true, outbound updates are blocked */
    BlockOut?: boolean;
    /** Number of inbound revisions */
    RevisionsIn?: number;
    /** Number of outbound revisions */
    RevisionsOut?: number;
    /** when this map was created */
    Created?: Date;
    /** When this map was last updated in any way */
    LastUpdated?: Date;
    /** When this map was last updated */
    LastInboundAsOf?: Date;
    /** When this map was last updated (outbound) */
    LastOutboundAsOf?: Date;
    /** When this map was queued for an inbound check */
    QInboundAsOf?: Date;
    /** When this map was queued to update the peer */
    QOutboundAsOf?: Date;
    /** For changes since, local side timestamp   */
    LastLocalTS?: number;
    /** For changes since, peer side timestamp   */
    LastAlienTS?: number;
    /** eTag for this key map, not for the data exchange */
    ETag?: string | undefined;
}
export declare class ApiException extends Error {
    message: string;
    status: number;
    response: string;
    headers: {
        [key: string]: any;
    };
    result: any;
    constructor(message: string, status: number, response: string, headers: {
        [key: string]: any;
    }, result: any);
    protected isApiException: boolean;
    static isApiException(obj: any): obj is ApiException;
}
