import React from 'react';
import type { TutorialStepType, TutorialDefinition } from './TutorialEngine';
export interface TutorialEditorStep {
    id: string;
    type: TutorialStepType;
    title: string;
    content: string;
    highlight?: string;
    code?: string;
    codeLanguage?: string;
    quizOptions?: {
        text: string;
        correct: boolean;
    }[];
    validationHint?: string;
    videoUrl?: string;
    duration?: number;
}
export interface TutorialEditorState {
    definition: Partial<TutorialDefinition>;
    steps: TutorialEditorStep[];
    selectedStepIndex: number;
    previewMode: boolean;
    dirty: boolean;
}
export interface TutorialEditorProps {
    initial?: TutorialDefinition;
    onSave?: (definition: TutorialDefinition) => void;
    onExport?: (json: string) => void;
}
export declare function useTutorialEditor(initial?: TutorialDefinition): {
    state: TutorialEditorState;
    addStep: (type: TutorialStepType) => void;
    removeStep: (index: number) => void;
    moveStep: (fromIndex: number, toIndex: number) => void;
    updateStep: (index: number, updates: Partial<TutorialEditorStep>) => void;
    updateDefinition: (updates: Partial<TutorialDefinition>) => void;
    selectStep: (index: number) => void;
    togglePreview: () => void;
    exportJSON: () => string;
    importJSON: (json: string) => void;
};
export declare const NiceTutorialEditor: React.FC<TutorialEditorProps>;
