import { CommandsObserver } from '../events/CommandsObserver';
import { NativeCommandsSender } from '../adapters/NativeCommandsSender';
import { UniqueIdProvider } from '../adapters/UniqueIdProvider';
import { Options } from '../interfaces/Options';
import { Layout, LayoutRoot } from '../interfaces/Layout';
import { LayoutTreeParser } from './LayoutTreeParser';
import { LayoutTreeCrawler } from './LayoutTreeCrawler';
import { OptionsProcessor } from './OptionsProcessor';
import { Store } from '../components/Store';
import { LayoutProcessor } from '../processors/LayoutProcessor';
import { OptionsCrawler } from './OptionsCrawler';
export declare class Commands {
    private readonly store;
    private readonly nativeCommandsSender;
    private readonly layoutTreeParser;
    private readonly layoutTreeCrawler;
    private readonly commandsObserver;
    private readonly uniqueIdProvider;
    private readonly optionsProcessor;
    private readonly layoutProcessor;
    private readonly optionsCrawler;
    constructor(store: Store, nativeCommandsSender: NativeCommandsSender, layoutTreeParser: LayoutTreeParser, layoutTreeCrawler: LayoutTreeCrawler, commandsObserver: CommandsObserver, uniqueIdProvider: UniqueIdProvider, optionsProcessor: OptionsProcessor, layoutProcessor: LayoutProcessor, optionsCrawler: OptionsCrawler);
    setRoot(simpleApi: LayoutRoot): Promise<string>;
    setDefaultOptions(options: Options): void;
    mergeOptions(componentId: string, options: Options): void;
    updateProps(componentId: string, props: object, callback?: () => void): void;
    showModal<P>(layout: Layout<P>): Promise<string>;
    dismissModal(componentId: string, mergeOptions?: Options): Promise<string>;
    dismissAllModals(mergeOptions?: Options): Promise<string>;
    push<P>(componentId: string, simpleApi: Layout<P>): Promise<string>;
    pop(componentId: string, mergeOptions?: Options): Promise<string>;
    popTo(componentId: string, mergeOptions?: Options): Promise<string>;
    popToRoot(componentId: string, mergeOptions?: Options): Promise<string>;
    setStackRoot<P>(componentId: string, children: Layout<P>[]): Promise<string>;
    showOverlay<P>(simpleApi: Layout<P>): Promise<string>;
    dismissOverlay(componentId: string): Promise<string>;
    dismissAllOverlays(): Promise<string>;
    getLaunchArgs(): Promise<string[]>;
}
//# sourceMappingURL=Commands.d.ts.map