import * as polytype from 'polytype';
import * as i1 from '@acorex/cdk/common';
import { MXInteractiveComponent, MXLookComponent, AXClickEvent } from '@acorex/cdk/common';
import * as i0 from '@angular/core';
import { EventEmitter, AfterContentInit } from '@angular/core';

declare const AXBottomNavigationItemComponent_base: polytype.Polytype.ClusteredConstructor<[typeof MXInteractiveComponent, typeof MXLookComponent]>;
declare class AXBottomNavigationItemComponent extends AXBottomNavigationItemComponent_base {
    /**
     * The name of the navigation item.
     */
    name: string;
    /**
     * Indicates if the item is currently active.
     */
    active: boolean;
    /**
     * Emitted when the item is clicked. Payload is the click event.
     */
    onClick: EventEmitter<AXClickEvent>;
    get __hostClass(): string;
    protected handleClick(e: MouseEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AXBottomNavigationItemComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXBottomNavigationItemComponent, "ax-bottom-navigation-item", never, { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "name": { "alias": "name"; "required": false; }; "active": { "alias": "active"; "required": false; }; }, { "disabledChange": "disabledChange"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onClick": "onClick"; }, never, ["ax-prefix, ax-icon", "ax-text, ng-content, ng-container", "ax-suffix"], true, [{ directive: typeof i1.AXRippleDirective; inputs: {}; outputs: {}; }]>;
}

type AXBottomNavigationLook = 'solid' | 'with-line' | 'pills' | 'pills-color';
/**
 * The BottomNavigation component provides a navigational bar at the bottom of the screen with customizable appearance and behavior.
 *
 * @category Components
 */
declare class AXBottomNavigationComponent implements AfterContentInit {
    /**
     *  @ignore
     */
    private _contentButtons;
    look: i0.InputSignal<AXBottomNavigationLook>;
    /**
     * This will be displayed as an interface
     */
    hasBorder: i0.InputSignal<boolean>;
    /**
     * Determines the position of the indicator relative to the button.
     *
     * @defaultValue 'top'
     */
    indicatorPosition: i0.InputSignal<"top" | "bottom">;
    /**
     * Emit item click.
     * @returns The AXClickEvent
     */
    onItemClick: i0.OutputEmitterRef<AXClickEvent>;
    /**
     *  @ignore
     */
    ngAfterContentInit(): void;
    /** @ignore */
    private _bindEvents;
    /** @ignore */
    _handleClickEvent(item: AXClickEvent): void;
    /** @ignore */
    get __hostClass(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<AXBottomNavigationComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXBottomNavigationComponent, "ax-bottom-navigation", never, { "look": { "alias": "look"; "required": false; "isSignal": true; }; "hasBorder": { "alias": "hasBorder"; "required": false; "isSignal": true; }; "indicatorPosition": { "alias": "indicatorPosition"; "required": false; "isSignal": true; }; }, { "onItemClick": "onItemClick"; }, ["_contentButtons"], ["ng-container, ax-bottom-navigation-item"], true, never>;
}

declare class AXBottomNavigationModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXBottomNavigationModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AXBottomNavigationModule, never, [typeof AXBottomNavigationComponent, typeof AXBottomNavigationItemComponent], [typeof AXBottomNavigationComponent, typeof AXBottomNavigationItemComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AXBottomNavigationModule>;
}

export { AXBottomNavigationComponent, AXBottomNavigationItemComponent, AXBottomNavigationModule };
export type { AXBottomNavigationLook };
