import { DTODocumentationHierarchyV2 } from "@supernova-studio/client";
import { DocsEntityType } from "../../enums/SDKDocsEntityType";
import { DocsEntity, DocsEntityPublishMetadata } from "./SDKDocsEntity";
import { DocsEntityApprovalState } from "./SDKDocsEntityApprovalState";
import { DocsEntityConfiguration } from "./SDKDocsEntityConfiguration";
import { DocsEntityDraftState } from "./SDKDocsEntityDraftState";
import { DocsEntityMultiplayerGroup } from "./SDKDocsEntityGroup";
export type DocsEntityPageModel = DTODocumentationHierarchyV2["pages"][number];
export declare class DocsEntityPage extends DocsEntity {
    /** Containing group. Can either be true group (abstract), or tab group */
    parentId: string;
    /** Internal */
    deployedUrl: string | null;
    /** Internal */
    relativeUrl: string | null;
    /** Internal */
    editorUrl: string | null;
    roomId: string | null;
    constructor(model: DocsEntityPageModel);
    /** Internal: Modifies object with new paths. Don't use outside SDK environment as it doesn't propagate the data back to source */
    internalOverridePaths(deployed: string | null, editor: string | null, relative: string | null): void;
    /** Retrieve editor page URL that can be opened */
    editorPageUrl(): string | null;
    /** Retrieve documentation page URL, if the documentation was already deployed (either default or custom domain) */
    deployedPageUrl(): string | null;
    /** Retrieve relative page path without the associated domain. Will work even when documentation was not yet deployed */
    relativePageUrl(): string | null;
}
/** Lightweight page representation used in multiplayer context type-validated against the full version */
export declare class DocsEntityMultiplayerPage {
    persistentId: string;
    parentId: string | null;
    parent: DocsEntityMultiplayerGroup | null;
    type: DocsEntityType.page;
    title: string;
    relativeUrl: string | null;
    createdAt: Date | null;
    isPrivate: boolean;
    isHidden: boolean;
    draftState: DocsEntityDraftState | null;
    publishMetadata: DocsEntityPublishMetadata | null;
    approvalState: DocsEntityApprovalState;
    configuration: DocsEntityConfiguration | null;
    roomId: string | null;
    isTab: boolean | null;
    constructor(model: DTODocumentationHierarchyV2["pages"][number]);
}
