import { ConsoleStateStorageMessage, Log, ConsoleMessage, LogLevels, LogSources, ConsoleCommand, IMessageBusTopicSubscription } from "../../models";
export interface IConsoleKeyStateStorage {
    onStateStorageAction: IMessageBusTopicSubscription<ConsoleStateStorageMessage>;
    setStateValue: (key: string, data: any) => void;
    getStateValue: <T>(key: string) => T;
    restoreState: () => void;
    saveState: () => void;
}
/**
 * Omnia Developer Console
 * @class Console
 */
export declare class ConsoleUIService {
    /**
    * Event dispatcher for onConsoleCleared event
    */
    private static _onConsoleCleared;
    private static _stateStorage;
    private static consoleLogging;
    /**
    * Array of all registered commands
    */
    static commands: Array<ConsoleCommand>;
    /**
    * Triggers when the console is being cleared
    */
    static get onConsoleCleared(): IMessageBusTopicSubscription<void>;
    /**
    * Triggers when a ConsoleMessage is being printed
    */
    static get onMessagePrintRequest(): IMessageBusTopicSubscription<ConsoleMessage>;
    /**
    * Inits the Console
    */
    static init(): void;
    /**
    * Gets the state for the given key
    */
    static get stateStorage(): IConsoleKeyStateStorage;
    /**
    * Updates filters
    */
    static setFilter(newFilters: Array<LogLevels>): void;
    /**
    * Set log source
    */
    static setLogSource(newLogSource: LogSources): void;
    /**
    * Adds a new command to the Console
    */
    static addCommand(command: ConsoleCommand): void;
    /**
    * Executes a registered Command with the provided arguments
    */
    static executeCommand(name: string, args: string[]): void;
    /**
    * Checks if a command exists
    */
    static commandExists(name: string): boolean;
    /**
    * Print a message to the console terminal
    */
    static print: (message: ConsoleMessage | string) => void;
    /**
    * Get all logs
    */
    static get logs(): Array<Log>;
    /**
    * Clears the console terminal
    */
    static clear(): void;
    /**
    * Clears the resources used by the Console
    */
    static dispose(): void;
}
