import type { HistoryOrigin } from '@redocly/theme';
export type RouteUpdateIncomingMessage = {
    type: 'route-update';
    path: string;
    line?: number;
    url?: string;
};
export type LocationUpdateIncomingMessage = {
    type: 'location-update';
    action: 'back' | 'forward' | 'reload';
};
export type InitializeIncomingMessage = {
    type: 'initialize';
};
export type ScrollUpdateIncomingMessage = {
    type: 'scroll-update';
    position: {
        absolute: number;
        relative: number;
    };
};
export type EditorScrollUpdateIncomingMessage = {
    type: 'editor-scroll-update';
    percentScrolled: number;
    sequenceNumber: number;
};
export type ColorSchemaUpdateIncomingMessage = {
    type: 'color-schema-update';
    colorSchema: 'light' | 'dark';
};
export type IncomingMessage = RouteUpdateIncomingMessage | InitializeIncomingMessage | LocationUpdateIncomingMessage | ScrollUpdateIncomingMessage | EditorScrollUpdateIncomingMessage | ColorSchemaUpdateIncomingMessage;
export type OutgoingMessage = InitializedOutgoingMessage | RouteUpdatedOutgoingMessage | AddReviewCommentOutgoingMessage | ReviewHoverLinesOutgoingMessage | ScrollOutgoingMessage | EditorScrollOutgoingMessage;
type InitializedOutgoingMessage = {
    type: 'initialized';
};
type RouteUpdatedOutgoingMessage = {
    type: 'route-updated';
    file: string;
    url: string;
    origin: HistoryOrigin;
};
type AddReviewCommentOutgoingMessage = {
    type: 'add-review-comment';
    file: string;
};
type ReviewHoverLinesOutgoingMessage = {
    type: 'review-hover-lines';
    file: string;
};
type ScrollOutgoingMessage = {
    type: 'scroll-updated';
    position: {
        absolute: number;
        relative: number;
    };
};
type EditorScrollOutgoingMessage = {
    type: 'editor-scroll-updated';
    percentScrolled: number;
    sequenceNumber: number;
};
export {};
//# sourceMappingURL=post-message.d.ts.map