/** @packageDocumentation
 * @module Workspace
 */
import { FilePropertyProps } from "@itwin/core-common";
import { Settings } from "../../workspace/Settings";
import { Workspace, WorkspaceContainer, WorkspaceContainerId, WorkspaceDb, WorkspaceDbLoadError, WorkspaceDbProps, WorkspaceOpts } from "../../workspace/Workspace";
import { WorkspaceEditor } from "../../workspace/WorkspaceEditor";
/** file extension for local WorkspaceDbs */
export declare const workspaceDbFileExt = "itwin-workspace";
export declare function constructWorkspaceDb(props: WorkspaceDbProps, container: WorkspaceContainer): WorkspaceDb;
export declare function constructWorkspace(settings: Settings, opts?: WorkspaceOpts): OwnedWorkspace;
export declare function constructWorkspaceEditor(): WorkspaceEditor;
/**
 * Validate that a WorkspaceContainer.Id is valid.
 * The rules for ContainerIds (from Azure, see https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata):
 *  - may only contain lower case letters, numbers or dashes
 *  - may not start or end with with a dash nor have more than one dash in a row
 *  - may not be shorter than 3 or longer than 63 characters
 */
export declare function validateWorkspaceContainerId(id: WorkspaceContainerId): void;
export declare const workspaceManifestProperty: FilePropertyProps;
export declare function throwWorkspaceDbLoadErrors(message: string, wsLoadErrors: WorkspaceDbLoadError[]): never;
export interface OwnedWorkspace extends Workspace {
    /** Only the owner of a Workspace may close it. */
    close(): void;
}
//# sourceMappingURL=WorkspaceImpl.d.ts.map