import { INotebookContent } from '@jupyterlab/nbformat';
import { IUser } from './User';
import { PageTagName } from './PageTag';
import { IRuntimeSnapshot } from './RuntimeSnapshot';
export type PageTheme = 'default';
export type PageVariant = 'document' | 'cell' | 'notebook';
/**
 * Page attributes.
 *
 * - Notebook
 * - Screen Capture
 * - Theme
 * - Tags
 * - Video Explainer
 * - Kernel Launcher Button
 * - Kernel Snapshot
 * - Share Button
 * - Stars Counter - 1 ⭐ -> 1 Credit
 */
export type IPage = {
    id: string;
    variant: PageVariant;
    type: 'page';
    name: string;
    description: string;
    theme: PageTheme;
    tags: Array<PageTagName>;
    nbformat: INotebookContent;
    screenCapture?: string;
    creator?: IUser;
    creatorId?: string;
    kernelSnapshot?: IRuntimeSnapshot;
    kernelSnapshotId?: string;
    createdAt?: string;
    updatedAt?: string;
};
export declare const asPage: (s: any) => IPage;
export default IPage;
