import { FocusableOption, FocusOrigin } from '@angular/cdk/a11y';
import { InjectionToken, OnDestroy, OnInit } from '@angular/core';
import { FocusableControl } from '../interfaces/focusable-control.interface';
import { MenuItemType } from '../menu-item/menu-item-type.enum';
import { MenuTabbableItemDirective } from '../menu-tabbable-item/menu-tabbable-item.directive';
import * as i0 from "@angular/core";
export declare const FocusableItemToken: InjectionToken<FocusableControl>;
export declare class MenuItemCustomControlDirective extends MenuTabbableItemDirective implements FocusableOption, OnInit, OnDestroy {
    private readonly _focusableControl;
    /** Indicate the type of the menu item */
    readonly type: MenuItemType;
    constructor();
    ngOnInit(): void;
    /** Focus this item with a given origin */
    focus(origin: FocusOrigin): void;
    /** We want to remove the ability to shift+tab back into the parent element */
    protected setTabIndex(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MenuItemCustomControlDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<MenuItemCustomControlDirective, "[uxMenuItemCustomControl]", never, {}, {}, never, never, false, never>;
}
