import type { TimelineKeyboardShortcutsConfig } from '../models';
export interface TimelineKeyboardShortcutsControllerCallbacks {
    togglePlay(): void;
    deleteSelectedClips(): void;
    copySelectedClips(): void;
    cutSelectedClips(): void;
    pasteClipboardClips(): Promise<boolean> | boolean;
    toggleSelectedClipsAudio(): Promise<boolean>;
    splitCurrentClip(): void;
    undo(): boolean;
    redo(): boolean;
    canDeleteSelectedClips(): boolean;
    canCopySelectedClips(): boolean;
    canCutSelectedClips(): boolean;
    canPasteClipboardClips(): boolean;
    canSplitSelectedClip(): boolean;
    canToggleSelectedClipsAudio(): boolean;
}
export interface TimelineKeyboardShortcutsControllerOptions {
    root: HTMLElement;
    config?: false | TimelineKeyboardShortcutsConfig;
    callbacks: TimelineKeyboardShortcutsControllerCallbacks;
    isMacLike?: boolean;
}
export declare class TimelineKeyboardShortcutsController {
    private readonly callbacks;
    private readonly bindings;
    private readonly enabled;
    private readonly keydownListener;
    constructor(options: TimelineKeyboardShortcutsControllerOptions);
    init(): void;
    destroy(): void;
    private handleKeydown;
    private dispatchAction;
}
