import { EventEmitter, OnInit } from '@angular/core';
import { IconService } from '../../../services/icons.service';
import { ToolbarAction, ToolbarActionType } from '../../types';
import { ToolbarMetadata } from './types';
import * as i0 from "@angular/core";
/**
 * ToolbarComponent
 *
 * Componente de barra de herramientas reutilizable para encabezados y pies de página.
 * Permite acciones, botón de retroceso, menú y personalización de colores y título.
 *
 * @example
 * <val-toolbar [props]="{ title: 'Mi App', withBack: true, actions: [...] }" (onClick)="handleToolbarAction($event)"></val-toolbar>
 *
 * @input props {ToolbarMetadata} - Metadatos de la barra de herramientas.
 * @output onClick - Emite el token de la acción clicada.
 */
export declare class ToolbarComponent implements OnInit {
    /**
     * Metadatos de la barra de herramientas.
     */
    props: ToolbarMetadata;
    private _lspInput;
    private _lspCache;
    /**
     * Evento emitido al hacer click en una acción o botón de la barra.
     */
    onClick: EventEmitter<string>;
    actionTypes: typeof ToolbarActionType;
    private nav;
    constructor(icon: IconService);
    ngOnInit(): void;
    /**
     * Emite el token de la acción clicada.
     * @param token Token de la acción
     */
    clickHandler(token?: string): void;
    goBack(): void;
    /**
     * Determina si hay acciones a la derecha.
     */
    someInRight(): boolean;
    /**
     * Determina si hay acciones a la izquierda.
     */
    someInLeft(): boolean;
    /**
     * Devuelve las acciones de la derecha.
     */
    rightActions(): ToolbarAction[];
    /**
     * Devuelve las acciones de la izquierda.
     */
    leftActions(): ToolbarAction[];
    /**
     * Language selector props — memoized to avoid new object reference on every CD cycle.
     */
    get languageSelectorProps(): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarComponent, "val-toolbar", never, { "props": { "alias": "props"; "required": false; }; }, { "onClick": "onClick"; }, never, ["[toolbar-bottom]"], true, never>;
}
