import { Type } from "./type";
import { ToolCommand } from "./ToolCommand";
import { ToolActionInfo } from "./ToolActionInfo";
import { ICommandAvailabilityListener } from "./ICommandAvailabilityListener";
import { ICommandStateChangedListener } from "./ICommandStateChangedListener";
import { ToolCommandExecutionState } from "./ToolCommandExecutionState";
import { IToolbarContextAccessor } from "./IToolbarContextAccessor";
/**
 * @hidden
 */
export interface IToolbarTarget {
    getDesiredToolbarActions(): ToolActionInfo[];
    addCommandAvailabilityListener(a: ICommandAvailabilityListener): void;
    removeCommandAvailabilityListener(a: ICommandAvailabilityListener): void;
    addCommandStateChangedListener(a: ICommandStateChangedListener): void;
    removeCommandStateChangedListener(a: ICommandStateChangedListener): void;
    onToolCommandExecuting(a: ToolCommand): ToolCommandExecutionState;
    commandCompleted: (arg1: ToolCommand) => void;
    invalidateActions: () => void;
    provideContextAccessor(a: IToolbarContextAccessor): void;
    dismissContextAccessor(a: IToolbarContextAccessor): void;
}
/**
 * @hidden
 */
export declare let IToolbarTarget_$type: Type;
