import { OnChanges, OnInit, EventEmitter, SimpleChanges } from '@angular/core';
import { TabsMetadata, TabMetadata } from './types';
import * as i0 from "@angular/core";
export declare class TabsComponent implements OnInit, OnChanges {
    private presets;
    /**
     * Preset name to apply. Presets define reusable tabs configurations
     * that can be registered at app level via provideValtechPresets().
     *
     * @example
     * <val-tabs preset="main-nav" [props]="{ tabs: [...] }"></val-tabs>
     */
    preset?: string;
    /**
     * Tabs configuration object. Values here override preset values.
     */
    props: Partial<TabsMetadata>;
    /**
     * Resolved props after merging preset + explicit props.
     */
    resolvedProps: TabsMetadata;
    tabChange: EventEmitter<TabMetadata>;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * Merge preset configuration with explicit props.
     * Explicit props take precedence over preset values.
     */
    private resolveProps;
    onTabClick(tab: TabMetadata): void;
    getTabLabel(tab: TabMetadata): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<TabsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TabsComponent, "val-tabs", never, { "preset": { "alias": "preset"; "required": false; }; "props": { "alias": "props"; "required": false; }; }, { "tabChange": "tabChange"; }, never, never, true, never>;
}
