import { Slot } from '@blockeditor/global/utils';
import { z } from 'zod';
import { LineWidth } from '../../_common/types.js';
import { CanvasTextFontFamily, CanvasTextFontStyle, CanvasTextFontWeight, ShapeStyle, StrokeStyle } from '../consts.js';
import type { EdgelessElementType } from '../edgeless-types.js';
import { ConnectorEndpointStyle } from '../elements/connector/types.js';
import { TextAlign, TextVerticalAlign } from '../elements/consts.js';
import { SHAPE_TEXT_FONT_SIZE, ShapeType } from '../elements/shape/consts.js';
import type { SurfaceService } from '../surface-service.js';
declare const LastPropsSchema: z.ZodObject<{
    connector: z.ZodObject<{
        frontEndpointStyle: z.ZodNativeEnum<typeof ConnectorEndpointStyle>;
        rearEndpointStyle: z.ZodNativeEnum<typeof ConnectorEndpointStyle>;
        strokeStyle: z.ZodNativeEnum<typeof StrokeStyle>;
        stroke: z.ZodUnion<[z.ZodLiteral<"--affine-palette-line-yellow">, z.ZodLiteral<"--affine-palette-line-orange">, z.ZodLiteral<"--affine-palette-line-tangerine">, z.ZodLiteral<"--affine-palette-line-red">, z.ZodLiteral<"--affine-palette-line-magenta">, z.ZodLiteral<"--affine-palette-line-purple">, z.ZodLiteral<"--affine-palette-line-green">, z.ZodLiteral<"--affine-palette-line-blue">, z.ZodLiteral<"--affine-palette-line-navy">, z.ZodLiteral<"--affine-palette-line-black">, z.ZodLiteral<"--affine-palette-line-grey">, z.ZodLiteral<"--affine-palette-line-white">]>;
        strokeWidth: z.ZodNativeEnum<typeof LineWidth>;
        rough: z.ZodBoolean;
        mode: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        stroke: "--affine-palette-line-yellow" | "--affine-palette-line-orange" | "--affine-palette-line-tangerine" | "--affine-palette-line-red" | "--affine-palette-line-magenta" | "--affine-palette-line-purple" | "--affine-palette-line-navy" | "--affine-palette-line-blue" | "--affine-palette-line-green" | "--affine-palette-line-white" | "--affine-palette-line-black" | "--affine-palette-line-grey";
        strokeWidth: LineWidth;
        rough: boolean;
        strokeStyle: StrokeStyle;
        frontEndpointStyle: ConnectorEndpointStyle;
        rearEndpointStyle: ConnectorEndpointStyle;
        mode?: number | undefined;
    }, {
        stroke: "--affine-palette-line-yellow" | "--affine-palette-line-orange" | "--affine-palette-line-tangerine" | "--affine-palette-line-red" | "--affine-palette-line-magenta" | "--affine-palette-line-purple" | "--affine-palette-line-navy" | "--affine-palette-line-blue" | "--affine-palette-line-green" | "--affine-palette-line-white" | "--affine-palette-line-black" | "--affine-palette-line-grey";
        strokeWidth: LineWidth;
        rough: boolean;
        strokeStyle: StrokeStyle;
        frontEndpointStyle: ConnectorEndpointStyle;
        rearEndpointStyle: ConnectorEndpointStyle;
        mode?: number | undefined;
    }>;
    brush: z.ZodObject<{
        color: z.ZodUnion<[z.ZodLiteral<"--affine-palette-line-yellow">, z.ZodLiteral<"--affine-palette-line-orange">, z.ZodLiteral<"--affine-palette-line-tangerine">, z.ZodLiteral<"--affine-palette-line-red">, z.ZodLiteral<"--affine-palette-line-magenta">, z.ZodLiteral<"--affine-palette-line-purple">, z.ZodLiteral<"--affine-palette-line-green">, z.ZodLiteral<"--affine-palette-line-blue">, z.ZodLiteral<"--affine-palette-line-navy">, z.ZodLiteral<"--affine-palette-line-black">, z.ZodLiteral<"--affine-palette-line-grey">, z.ZodLiteral<"--affine-palette-line-white">]>;
        lineWidth: z.ZodNativeEnum<typeof LineWidth>;
    }, "strip", z.ZodTypeAny, {
        color: "--affine-palette-line-yellow" | "--affine-palette-line-orange" | "--affine-palette-line-tangerine" | "--affine-palette-line-red" | "--affine-palette-line-magenta" | "--affine-palette-line-purple" | "--affine-palette-line-navy" | "--affine-palette-line-blue" | "--affine-palette-line-green" | "--affine-palette-line-white" | "--affine-palette-line-black" | "--affine-palette-line-grey";
        lineWidth: LineWidth;
    }, {
        color: "--affine-palette-line-yellow" | "--affine-palette-line-orange" | "--affine-palette-line-tangerine" | "--affine-palette-line-red" | "--affine-palette-line-magenta" | "--affine-palette-line-purple" | "--affine-palette-line-navy" | "--affine-palette-line-blue" | "--affine-palette-line-green" | "--affine-palette-line-white" | "--affine-palette-line-black" | "--affine-palette-line-grey";
        lineWidth: LineWidth;
    }>;
    shape: z.ZodObject<{
        shapeType: z.ZodNativeEnum<typeof ShapeType>;
        fillColor: z.ZodUnion<[z.ZodLiteral<"--affine-palette-shape-yellow">, z.ZodLiteral<"--affine-palette-shape-orange">, z.ZodLiteral<"--affine-palette-shape-tangerine">, z.ZodLiteral<"--affine-palette-shape-red">, z.ZodLiteral<"--affine-palette-shape-magenta">, z.ZodLiteral<"--affine-palette-shape-purple">, z.ZodLiteral<"--affine-palette-shape-green">, z.ZodLiteral<"--affine-palette-shape-blue">, z.ZodLiteral<"--affine-palette-shape-navy">, z.ZodLiteral<"--affine-palette-shape-black">, z.ZodLiteral<"--affine-palette-shape-white">, z.ZodLiteral<"--affine-palette-transparent">]>;
        strokeColor: z.ZodUnion<[z.ZodLiteral<"--affine-palette-line-yellow">, z.ZodLiteral<"--affine-palette-line-orange">, z.ZodLiteral<"--affine-palette-line-tangerine">, z.ZodLiteral<"--affine-palette-line-red">, z.ZodLiteral<"--affine-palette-line-magenta">, z.ZodLiteral<"--affine-palette-line-purple">, z.ZodLiteral<"--affine-palette-line-green">, z.ZodLiteral<"--affine-palette-line-blue">, z.ZodLiteral<"--affine-palette-line-navy">, z.ZodLiteral<"--affine-palette-line-black">, z.ZodLiteral<"--affine-palette-line-white">, z.ZodLiteral<"--affine-palette-transparent">]>;
        shapeStyle: z.ZodNativeEnum<typeof ShapeStyle>;
        filled: z.ZodBoolean;
        radius: z.ZodNumber;
        strokeWidth: z.ZodOptional<z.ZodNumber>;
        strokeStyle: z.ZodOptional<z.ZodNativeEnum<typeof StrokeStyle>>;
        color: z.ZodOptional<z.ZodString>;
        fontSize: z.ZodOptional<z.ZodNativeEnum<typeof SHAPE_TEXT_FONT_SIZE>>;
        fontFamily: z.ZodOptional<z.ZodNativeEnum<typeof CanvasTextFontFamily>>;
        fontWeight: z.ZodOptional<z.ZodNativeEnum<typeof CanvasTextFontWeight>>;
        fontStyle: z.ZodOptional<z.ZodNativeEnum<typeof CanvasTextFontStyle>>;
        textAlign: z.ZodOptional<z.ZodNativeEnum<typeof TextAlign>>;
        textHorizontalAlign: z.ZodOptional<z.ZodNativeEnum<typeof TextAlign>>;
        textVerticalAlign: z.ZodOptional<z.ZodNativeEnum<typeof TextVerticalAlign>>;
    }, "strip", z.ZodTypeAny, {
        shapeStyle: ShapeStyle;
        shapeType: ShapeType;
        fillColor: "--affine-palette-shape-yellow" | "--affine-palette-shape-orange" | "--affine-palette-shape-tangerine" | "--affine-palette-shape-red" | "--affine-palette-shape-magenta" | "--affine-palette-shape-purple" | "--affine-palette-shape-navy" | "--affine-palette-shape-blue" | "--affine-palette-shape-green" | "--affine-palette-shape-white" | "--affine-palette-shape-black" | "--affine-palette-transparent";
        strokeColor: "--affine-palette-line-yellow" | "--affine-palette-line-orange" | "--affine-palette-line-tangerine" | "--affine-palette-line-red" | "--affine-palette-line-magenta" | "--affine-palette-line-purple" | "--affine-palette-line-navy" | "--affine-palette-line-blue" | "--affine-palette-line-green" | "--affine-palette-line-white" | "--affine-palette-line-black" | "--affine-palette-transparent";
        radius: number;
        filled: boolean;
        strokeWidth?: number | undefined;
        strokeStyle?: StrokeStyle | undefined;
        color?: string | undefined;
        fontSize?: SHAPE_TEXT_FONT_SIZE | undefined;
        fontFamily?: CanvasTextFontFamily | undefined;
        fontWeight?: CanvasTextFontWeight | undefined;
        fontStyle?: CanvasTextFontStyle | undefined;
        textAlign?: TextAlign | undefined;
        textHorizontalAlign?: TextAlign | undefined;
        textVerticalAlign?: TextVerticalAlign | undefined;
    }, {
        shapeStyle: ShapeStyle;
        shapeType: ShapeType;
        fillColor: "--affine-palette-shape-yellow" | "--affine-palette-shape-orange" | "--affine-palette-shape-tangerine" | "--affine-palette-shape-red" | "--affine-palette-shape-magenta" | "--affine-palette-shape-purple" | "--affine-palette-shape-navy" | "--affine-palette-shape-blue" | "--affine-palette-shape-green" | "--affine-palette-shape-white" | "--affine-palette-shape-black" | "--affine-palette-transparent";
        strokeColor: "--affine-palette-line-yellow" | "--affine-palette-line-orange" | "--affine-palette-line-tangerine" | "--affine-palette-line-red" | "--affine-palette-line-magenta" | "--affine-palette-line-purple" | "--affine-palette-line-navy" | "--affine-palette-line-blue" | "--affine-palette-line-green" | "--affine-palette-line-white" | "--affine-palette-line-black" | "--affine-palette-transparent";
        radius: number;
        filled: boolean;
        strokeWidth?: number | undefined;
        strokeStyle?: StrokeStyle | undefined;
        color?: string | undefined;
        fontSize?: SHAPE_TEXT_FONT_SIZE | undefined;
        fontFamily?: CanvasTextFontFamily | undefined;
        fontWeight?: CanvasTextFontWeight | undefined;
        fontStyle?: CanvasTextFontStyle | undefined;
        textAlign?: TextAlign | undefined;
        textHorizontalAlign?: TextAlign | undefined;
        textVerticalAlign?: TextVerticalAlign | undefined;
    }>;
    text: z.ZodObject<{
        color: z.ZodString;
        fontFamily: z.ZodNativeEnum<typeof CanvasTextFontFamily>;
        textAlign: z.ZodNativeEnum<typeof TextAlign>;
        fontWeight: z.ZodNativeEnum<typeof CanvasTextFontWeight>;
        fontStyle: z.ZodNativeEnum<typeof CanvasTextFontStyle>;
        fontSize: z.ZodNumber;
        hasMaxWidth: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        color: string;
        fontSize: number;
        fontFamily: CanvasTextFontFamily;
        fontWeight: CanvasTextFontWeight;
        fontStyle: CanvasTextFontStyle;
        textAlign: TextAlign;
        hasMaxWidth: boolean;
    }, {
        color: string;
        fontSize: number;
        fontFamily: CanvasTextFontFamily;
        fontWeight: CanvasTextFontWeight;
        fontStyle: CanvasTextFontStyle;
        textAlign: TextAlign;
        hasMaxWidth: boolean;
    }>;
    'affine:note': z.ZodObject<{
        background: z.ZodUnion<[z.ZodLiteral<"--affine-background-secondary-color">, z.ZodLiteral<"--affine-tag-yellow">, z.ZodLiteral<"--affine-tag-red">, z.ZodLiteral<"--affine-tag-green">, z.ZodLiteral<"--affine-tag-blue">, z.ZodLiteral<"--affine-tag-purple">]>;
        hidden: z.ZodBoolean;
        edgeless: z.ZodObject<{
            style: z.ZodObject<{
                borderRadius: z.ZodNumber;
                borderSize: z.ZodNumber;
                borderStyle: z.ZodNativeEnum<typeof StrokeStyle>;
                shadowType: z.ZodUnion<[z.ZodLiteral<"">, z.ZodLiteral<"--affine-note-shadow-box">, z.ZodLiteral<"--affine-note-shadow-sticker">, z.ZodLiteral<"--affine-note-shadow-paper">, z.ZodLiteral<"--affine-note-shadow-float">, z.ZodLiteral<"--affine-note-shadow-film">]>;
            }, "strip", z.ZodTypeAny, {
                borderRadius: number;
                borderSize: number;
                borderStyle: StrokeStyle;
                shadowType: "" | "--affine-note-shadow-box" | "--affine-note-shadow-sticker" | "--affine-note-shadow-paper" | "--affine-note-shadow-float" | "--affine-note-shadow-film";
            }, {
                borderRadius: number;
                borderSize: number;
                borderStyle: StrokeStyle;
                shadowType: "" | "--affine-note-shadow-box" | "--affine-note-shadow-sticker" | "--affine-note-shadow-paper" | "--affine-note-shadow-float" | "--affine-note-shadow-film";
            }>;
        }, "strip", z.ZodTypeAny, {
            style: {
                borderRadius: number;
                borderSize: number;
                borderStyle: StrokeStyle;
                shadowType: "" | "--affine-note-shadow-box" | "--affine-note-shadow-sticker" | "--affine-note-shadow-paper" | "--affine-note-shadow-float" | "--affine-note-shadow-film";
            };
        }, {
            style: {
                borderRadius: number;
                borderSize: number;
                borderStyle: StrokeStyle;
                shadowType: "" | "--affine-note-shadow-box" | "--affine-note-shadow-sticker" | "--affine-note-shadow-paper" | "--affine-note-shadow-float" | "--affine-note-shadow-film";
            };
        }>;
    }, "strip", z.ZodTypeAny, {
        background: "--affine-background-secondary-color" | "--affine-tag-blue" | "--affine-tag-green" | "--affine-tag-purple" | "--affine-tag-red" | "--affine-tag-yellow";
        hidden: boolean;
        edgeless: {
            style: {
                borderRadius: number;
                borderSize: number;
                borderStyle: StrokeStyle;
                shadowType: "" | "--affine-note-shadow-box" | "--affine-note-shadow-sticker" | "--affine-note-shadow-paper" | "--affine-note-shadow-float" | "--affine-note-shadow-film";
            };
        };
    }, {
        background: "--affine-background-secondary-color" | "--affine-tag-blue" | "--affine-tag-green" | "--affine-tag-purple" | "--affine-tag-red" | "--affine-tag-yellow";
        hidden: boolean;
        edgeless: {
            style: {
                borderRadius: number;
                borderSize: number;
                borderStyle: StrokeStyle;
                shadowType: "" | "--affine-note-shadow-box" | "--affine-note-shadow-sticker" | "--affine-note-shadow-paper" | "--affine-note-shadow-float" | "--affine-note-shadow-film";
            };
        };
    }>;
}, "strip", z.ZodTypeAny, {
    text: {
        color: string;
        fontSize: number;
        fontFamily: CanvasTextFontFamily;
        fontWeight: CanvasTextFontWeight;
        fontStyle: CanvasTextFontStyle;
        textAlign: TextAlign;
        hasMaxWidth: boolean;
    };
    'affine:note': {
        background: "--affine-background-secondary-color" | "--affine-tag-blue" | "--affine-tag-green" | "--affine-tag-purple" | "--affine-tag-red" | "--affine-tag-yellow";
        hidden: boolean;
        edgeless: {
            style: {
                borderRadius: number;
                borderSize: number;
                borderStyle: StrokeStyle;
                shadowType: "" | "--affine-note-shadow-box" | "--affine-note-shadow-sticker" | "--affine-note-shadow-paper" | "--affine-note-shadow-float" | "--affine-note-shadow-film";
            };
        };
    };
    shape: {
        shapeStyle: ShapeStyle;
        shapeType: ShapeType;
        fillColor: "--affine-palette-shape-yellow" | "--affine-palette-shape-orange" | "--affine-palette-shape-tangerine" | "--affine-palette-shape-red" | "--affine-palette-shape-magenta" | "--affine-palette-shape-purple" | "--affine-palette-shape-navy" | "--affine-palette-shape-blue" | "--affine-palette-shape-green" | "--affine-palette-shape-white" | "--affine-palette-shape-black" | "--affine-palette-transparent";
        strokeColor: "--affine-palette-line-yellow" | "--affine-palette-line-orange" | "--affine-palette-line-tangerine" | "--affine-palette-line-red" | "--affine-palette-line-magenta" | "--affine-palette-line-purple" | "--affine-palette-line-navy" | "--affine-palette-line-blue" | "--affine-palette-line-green" | "--affine-palette-line-white" | "--affine-palette-line-black" | "--affine-palette-transparent";
        radius: number;
        filled: boolean;
        strokeWidth?: number | undefined;
        strokeStyle?: StrokeStyle | undefined;
        color?: string | undefined;
        fontSize?: SHAPE_TEXT_FONT_SIZE | undefined;
        fontFamily?: CanvasTextFontFamily | undefined;
        fontWeight?: CanvasTextFontWeight | undefined;
        fontStyle?: CanvasTextFontStyle | undefined;
        textAlign?: TextAlign | undefined;
        textHorizontalAlign?: TextAlign | undefined;
        textVerticalAlign?: TextVerticalAlign | undefined;
    };
    brush: {
        color: "--affine-palette-line-yellow" | "--affine-palette-line-orange" | "--affine-palette-line-tangerine" | "--affine-palette-line-red" | "--affine-palette-line-magenta" | "--affine-palette-line-purple" | "--affine-palette-line-navy" | "--affine-palette-line-blue" | "--affine-palette-line-green" | "--affine-palette-line-white" | "--affine-palette-line-black" | "--affine-palette-line-grey";
        lineWidth: LineWidth;
    };
    connector: {
        stroke: "--affine-palette-line-yellow" | "--affine-palette-line-orange" | "--affine-palette-line-tangerine" | "--affine-palette-line-red" | "--affine-palette-line-magenta" | "--affine-palette-line-purple" | "--affine-palette-line-navy" | "--affine-palette-line-blue" | "--affine-palette-line-green" | "--affine-palette-line-white" | "--affine-palette-line-black" | "--affine-palette-line-grey";
        strokeWidth: LineWidth;
        rough: boolean;
        strokeStyle: StrokeStyle;
        frontEndpointStyle: ConnectorEndpointStyle;
        rearEndpointStyle: ConnectorEndpointStyle;
        mode?: number | undefined;
    };
}, {
    text: {
        color: string;
        fontSize: number;
        fontFamily: CanvasTextFontFamily;
        fontWeight: CanvasTextFontWeight;
        fontStyle: CanvasTextFontStyle;
        textAlign: TextAlign;
        hasMaxWidth: boolean;
    };
    'affine:note': {
        background: "--affine-background-secondary-color" | "--affine-tag-blue" | "--affine-tag-green" | "--affine-tag-purple" | "--affine-tag-red" | "--affine-tag-yellow";
        hidden: boolean;
        edgeless: {
            style: {
                borderRadius: number;
                borderSize: number;
                borderStyle: StrokeStyle;
                shadowType: "" | "--affine-note-shadow-box" | "--affine-note-shadow-sticker" | "--affine-note-shadow-paper" | "--affine-note-shadow-float" | "--affine-note-shadow-film";
            };
        };
    };
    shape: {
        shapeStyle: ShapeStyle;
        shapeType: ShapeType;
        fillColor: "--affine-palette-shape-yellow" | "--affine-palette-shape-orange" | "--affine-palette-shape-tangerine" | "--affine-palette-shape-red" | "--affine-palette-shape-magenta" | "--affine-palette-shape-purple" | "--affine-palette-shape-navy" | "--affine-palette-shape-blue" | "--affine-palette-shape-green" | "--affine-palette-shape-white" | "--affine-palette-shape-black" | "--affine-palette-transparent";
        strokeColor: "--affine-palette-line-yellow" | "--affine-palette-line-orange" | "--affine-palette-line-tangerine" | "--affine-palette-line-red" | "--affine-palette-line-magenta" | "--affine-palette-line-purple" | "--affine-palette-line-navy" | "--affine-palette-line-blue" | "--affine-palette-line-green" | "--affine-palette-line-white" | "--affine-palette-line-black" | "--affine-palette-transparent";
        radius: number;
        filled: boolean;
        strokeWidth?: number | undefined;
        strokeStyle?: StrokeStyle | undefined;
        color?: string | undefined;
        fontSize?: SHAPE_TEXT_FONT_SIZE | undefined;
        fontFamily?: CanvasTextFontFamily | undefined;
        fontWeight?: CanvasTextFontWeight | undefined;
        fontStyle?: CanvasTextFontStyle | undefined;
        textAlign?: TextAlign | undefined;
        textHorizontalAlign?: TextAlign | undefined;
        textVerticalAlign?: TextVerticalAlign | undefined;
    };
    brush: {
        color: "--affine-palette-line-yellow" | "--affine-palette-line-orange" | "--affine-palette-line-tangerine" | "--affine-palette-line-red" | "--affine-palette-line-magenta" | "--affine-palette-line-purple" | "--affine-palette-line-navy" | "--affine-palette-line-blue" | "--affine-palette-line-green" | "--affine-palette-line-white" | "--affine-palette-line-black" | "--affine-palette-line-grey";
        lineWidth: LineWidth;
    };
    connector: {
        stroke: "--affine-palette-line-yellow" | "--affine-palette-line-orange" | "--affine-palette-line-tangerine" | "--affine-palette-line-red" | "--affine-palette-line-magenta" | "--affine-palette-line-purple" | "--affine-palette-line-navy" | "--affine-palette-line-blue" | "--affine-palette-line-green" | "--affine-palette-line-white" | "--affine-palette-line-black" | "--affine-palette-line-grey";
        strokeWidth: LineWidth;
        rough: boolean;
        strokeStyle: StrokeStyle;
        frontEndpointStyle: ConnectorEndpointStyle;
        rearEndpointStyle: ConnectorEndpointStyle;
        mode?: number | undefined;
    };
}>;
export type LastProps = z.infer<typeof LastPropsSchema>;
declare const SessionPropsSchema: z.ZodObject<{
    viewport: z.ZodUnion<[z.ZodObject<{
        centerX: z.ZodNumber;
        centerY: z.ZodNumber;
        zoom: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        centerX: number;
        centerY: number;
        zoom: number;
    }, {
        centerX: number;
        centerY: number;
        zoom: number;
    }>, z.ZodObject<{
        referenceId: z.ZodString;
        xywh: z.ZodString;
        padding: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
    }, "strip", z.ZodTypeAny, {
        xywh: string;
        referenceId: string;
        padding?: [number, number, number, number] | undefined;
    }, {
        xywh: string;
        referenceId: string;
        padding?: [number, number, number, number] | undefined;
    }>]>;
    presentBlackBackground: z.ZodBoolean;
    presentFillScreen: z.ZodBoolean;
    presentHideToolbar: z.ZodBoolean;
    templateCache: z.ZodString;
    remoteColor: z.ZodString;
}, "strip", z.ZodTypeAny, {
    viewport: ({
        centerX: number;
        centerY: number;
        zoom: number;
    } | {
        xywh: string;
        referenceId: string;
        padding?: [number, number, number, number] | undefined;
    }) & ({
        centerX: number;
        centerY: number;
        zoom: number;
    } | {
        xywh: string;
        referenceId: string;
        padding?: [number, number, number, number] | undefined;
    } | undefined);
    presentBlackBackground: boolean;
    presentFillScreen: boolean;
    presentHideToolbar: boolean;
    templateCache: string;
    remoteColor: string;
}, {
    viewport: ({
        centerX: number;
        centerY: number;
        zoom: number;
    } | {
        xywh: string;
        referenceId: string;
        padding?: [number, number, number, number] | undefined;
    }) & ({
        centerX: number;
        centerY: number;
        zoom: number;
    } | {
        xywh: string;
        referenceId: string;
        padding?: [number, number, number, number] | undefined;
    } | undefined);
    presentBlackBackground: boolean;
    presentFillScreen: boolean;
    presentHideToolbar: boolean;
    templateCache: string;
    remoteColor: string;
}>;
type SessionProps = z.infer<typeof SessionPropsSchema>;
export type SerializedViewport = z.infer<typeof SessionPropsSchema.shape.viewport>;
export declare class EditSessionStorage {
    private _service;
    private _lastProps;
    slots: {
        lastPropsUpdated: Slot<{
            type: keyof LastProps;
            props: Record<string, unknown>;
        }>;
    };
    constructor(_service: SurfaceService);
    getLastProps<T extends keyof LastProps>(type: T): {
        text: {
            color: string;
            fontSize: number;
            fontFamily: CanvasTextFontFamily;
            fontWeight: CanvasTextFontWeight;
            fontStyle: CanvasTextFontStyle;
            textAlign: TextAlign;
            hasMaxWidth: boolean;
        };
        'affine:note': {
            background: "--affine-background-secondary-color" | "--affine-tag-blue" | "--affine-tag-green" | "--affine-tag-purple" | "--affine-tag-red" | "--affine-tag-yellow";
            hidden: boolean;
            edgeless: {
                style: {
                    borderRadius: number;
                    borderSize: number;
                    borderStyle: StrokeStyle;
                    shadowType: "" | "--affine-note-shadow-box" | "--affine-note-shadow-sticker" | "--affine-note-shadow-paper" | "--affine-note-shadow-float" | "--affine-note-shadow-film";
                };
            };
        };
        shape: {
            shapeStyle: ShapeStyle;
            shapeType: ShapeType;
            fillColor: "--affine-palette-shape-yellow" | "--affine-palette-shape-orange" | "--affine-palette-shape-tangerine" | "--affine-palette-shape-red" | "--affine-palette-shape-magenta" | "--affine-palette-shape-purple" | "--affine-palette-shape-navy" | "--affine-palette-shape-blue" | "--affine-palette-shape-green" | "--affine-palette-shape-white" | "--affine-palette-shape-black" | "--affine-palette-transparent";
            strokeColor: "--affine-palette-line-yellow" | "--affine-palette-line-orange" | "--affine-palette-line-tangerine" | "--affine-palette-line-red" | "--affine-palette-line-magenta" | "--affine-palette-line-purple" | "--affine-palette-line-navy" | "--affine-palette-line-blue" | "--affine-palette-line-green" | "--affine-palette-line-white" | "--affine-palette-line-black" | "--affine-palette-transparent";
            radius: number;
            filled: boolean;
            strokeWidth?: number | undefined;
            strokeStyle?: StrokeStyle | undefined;
            color?: string | undefined;
            fontSize?: SHAPE_TEXT_FONT_SIZE | undefined;
            fontFamily?: CanvasTextFontFamily | undefined;
            fontWeight?: CanvasTextFontWeight | undefined;
            fontStyle?: CanvasTextFontStyle | undefined;
            textAlign?: TextAlign | undefined;
            textHorizontalAlign?: TextAlign | undefined;
            textVerticalAlign?: TextVerticalAlign | undefined;
        };
        brush: {
            color: "--affine-palette-line-yellow" | "--affine-palette-line-orange" | "--affine-palette-line-tangerine" | "--affine-palette-line-red" | "--affine-palette-line-magenta" | "--affine-palette-line-purple" | "--affine-palette-line-navy" | "--affine-palette-line-blue" | "--affine-palette-line-green" | "--affine-palette-line-white" | "--affine-palette-line-black" | "--affine-palette-line-grey";
            lineWidth: LineWidth;
        };
        connector: {
            stroke: "--affine-palette-line-yellow" | "--affine-palette-line-orange" | "--affine-palette-line-tangerine" | "--affine-palette-line-red" | "--affine-palette-line-magenta" | "--affine-palette-line-purple" | "--affine-palette-line-navy" | "--affine-palette-line-blue" | "--affine-palette-line-green" | "--affine-palette-line-white" | "--affine-palette-line-black" | "--affine-palette-line-grey";
            strokeWidth: LineWidth;
            rough: boolean;
            strokeStyle: StrokeStyle;
            frontEndpointStyle: ConnectorEndpointStyle;
            rearEndpointStyle: ConnectorEndpointStyle;
            mode?: number | undefined;
        };
    }[T];
    record(type: EdgelessElementType, recordProps: Partial<LastProps[keyof LastProps]>): void;
    apply(type: EdgelessElementType, props: Record<string, unknown>): void;
    private _getKey;
    setItem<T extends keyof SessionProps>(key: T, value: SessionProps[T]): void;
    getItem<T extends keyof SessionProps>(key: T): {
        viewport: ({
            centerX: number;
            centerY: number;
            zoom: number;
        } | {
            xywh: string;
            referenceId: string;
            padding?: [number, number, number, number] | undefined;
        }) & ({
            centerX: number;
            centerY: number;
            zoom: number;
        } | {
            xywh: string;
            referenceId: string;
            padding?: [number, number, number, number] | undefined;
        } | undefined);
        presentBlackBackground: boolean;
        presentFillScreen: boolean;
        presentHideToolbar: boolean;
        templateCache: string;
        remoteColor: string;
    }[T] | null;
}
export {};
//# sourceMappingURL=edit-session.d.ts.map