import { InjectionToken, Injector } from '@angular/core';
import { Facade } from '@w11k/tydux';
import { PresentationCommands, PresentationState, SlideComponents } from './presentation.types';
export declare const NGX_PRESENT_CONFIG: InjectionToken<RecursivePartial<{
    sidebar: {
        tableOfContent: {
            enabled: boolean;
            showCoordinates: boolean | undefined;
            separator: string | undefined;
            depth: number | undefined;
        };
    };
    tableOfContent: {
        showCoordinates: boolean;
        separator: string;
        depth: number | undefined;
    };
    coordinates: {
        separator: string;
    };
    title: {
        separator: string;
    };
    navigation: {
        overview: {
            component: import("@angular/core").Type<any> | undefined;
        };
    };
    presenter: {
        preview1: {
            move: number;
            coordinatesToKeep: number | undefined;
        };
        preview2: {
            move: number;
            coordinatesToKeep: number | undefined;
        };
    };
    code: {
        theme: "dark" | "light";
    };
}>>;
export declare const SLIDES: InjectionToken<SlideComponents>;
export declare class PresentationService extends Facade<PresentationState, PresentationCommands> {
    constructor(injector: Injector);
    dispatch: Pick<PresentationCommands, "setSlides" | "mergeConfig" | "toggleSideBar" | "closeSideBar" | "openSideBar" | "enableSideBarExpertMode" | "setId" | "setCodeTheme">;
    toggleSideBar(event: KeyboardEvent | MouseEvent): void;
}
