import { DTODocumentationDraftState, DTODocumentationHierarchyV2, DTODocumentationItemConfigurationV2, DTODocumentationPageApprovalState, DTODocumentationPublishMetadata } from "@supernova-studio/client";
import { DocsEntityType } from "../../enums/SDKDocsEntityType";
import { DocsEntityApprovalState } from "./SDKDocsEntityApprovalState";
import { DocsEntityConfiguration } from "./SDKDocsEntityConfiguration";
import { DocsEntityDraftState } from "./SDKDocsEntityDraftState";
import { DocsEntityGroup } from "./SDKDocsEntityGroup";
export type DocsEntityModel = {
    persistentId: string;
    shortPersistentId: string;
    id: string;
    designSystemVersionId: string;
    title: string;
    type: DocsEntityType;
    slug: string;
    userSlug?: string;
    path?: string;
    configuration?: DTODocumentationItemConfigurationV2;
    createdAt?: string;
    updatedAt?: string;
    draftState?: DTODocumentationDraftState;
    publishMetadata?: DTODocumentationPublishMetadata;
    approvalState?: DTODocumentationPageApprovalState;
};
export type DocsEntityPublishMetadata = {
    lastPublishedByUserId: string;
    lastPublishedAt: Date;
};
export declare class DocsEntity {
    id: string;
    persistentId: string;
    type: DocsEntityType;
    title: string;
    configuration: DocsEntityConfiguration | null;
    slug: string;
    userSlug: string | null;
    createdAt: Date | null;
    parent: DocsEntityGroup | null;
    updatedAt: Date | null;
    draftState: DocsEntityDraftState | null;
    isPrivate: boolean;
    isHidden: boolean;
    publishMetadata: DocsEntityPublishMetadata | null;
    approvalState: DocsEntityApprovalState | null;
    constructor(model: DTODocumentationHierarchyV2["groups"][number] | DTODocumentationHierarchyV2["pages"][number]);
}
