import { Maybe } from "graphql/jsutils/Maybe";
export interface NotebookDef {
    id: string;
    cells: CellConnectionDef;
    metadata: MetadataEntryDef[];
}
export interface CellConnectionDef {
    nodes: CellDef[];
}
export interface MetadataEntryDef {
    key: string;
    value: string;
}
interface BaseCellDef {
    id: string;
    source: string;
    metadata: MetadataEntryDef[];
}
export interface CodeCellDef extends BaseCellDef {
    __typename: "CodeCell";
    executionCount: Maybe<number>;
    outputs: CellOutputDef[];
}
export interface MarkdownCellDef extends BaseCellDef {
    __typename: "MarkdownCell";
}
export interface RawCellDef extends BaseCellDef {
    __typename: "RawCell";
}
export declare type CellDef = MarkdownCellDef | CodeCellDef | RawCellDef;
export interface DisplayDataDef {
    __typename: "DisplayData";
    data: MediaBundleEntryDef[];
    metadata: MetadataEntryDef[];
}
export interface ErrorOutputDef {
    __typename: "ErrorOutput";
    ename: string;
    evalue: string;
    traceback: string[];
}
export interface ExecuteResultDef {
    __typename: "ExecuteResult";
    executionCount: number;
    data: MediaBundleEntryDef[];
    metadata: MetadataEntryDef[];
}
export interface StreamOutputDef {
    __typename: "StreamOutput";
    name: OutputStreamType;
    text: string;
}
export declare type OutputStreamType = "stdout" | "stderr";
export interface MediaBundleEntryDef {
    key: string;
    value: string;
}
export declare type CellOutputDef = DisplayDataDef | ErrorOutputDef | ExecuteResultDef | StreamOutputDef;
export interface PeerLocationDef {
    focusedCellId: string;
    cursorPosition?: PositionDef;
    textSelection?: SelectionRangeDef;
}
export interface PositionDef {
    line: number;
    column: number;
}
export interface SelectionRangeDef {
    lineStart: number;
    columnStart: number;
    lineEnd: number;
    columnEnd: number;
}
export {};
