/**
 * @license
 * Copyright Lamb Team. All Rights Reserved.
 * Licensed under the MIT License. See License.txt in the project root for license information.
 */
import { QueryList, TemplateRef, AfterContentChecked, EventEmitter, OnInit, OnDestroy } from '@angular/core';
import { LambStepConfig, ConfigNames } from './step-config';
export declare class LambStepTitleDirective {
    templateRef: TemplateRef<any>;
    constructor(templateRef: TemplateRef<any>);
}
export declare class LambStepContentDirective {
    templateRef: TemplateRef<any>;
    constructor(templateRef: TemplateRef<any>);
}
export declare class LambStepDirective {
    id: string;
    title: string;
    icon: string;
    /**
     * Guarda Cualquier dato. Creado por el Equipo Lamb.
     */
    data: any;
    disabled: boolean;
    isValidStep: boolean;
    validStep: string | boolean;
    contentTemplate: LambStepContentDirective;
    titleTemplate: LambStepTitleDirective;
}
export interface LambStepChangeEvent {
    /**
     * Id de la pestaña actualmente activa.
     */
    activeId: string;
    /**
     * Id de la pestaña recién seleccionada.
     */
    nextId: string;
    /**
     * data guardada en la pestaña actualmente activa.
     */
    activeData: any;
    /**
     * Función que evitará el cambio de pertaña si se llama.
     */
    preventDefault: () => void;
}
export declare class LambStepGroupComponent implements OnInit, AfterContentChecked, OnDestroy {
    private config;
    justifyClass: string;
    hideContent: boolean;
    steps: QueryList<LambStepDirective>;
    /**
     * Id del step que saldrá activado por defecto.
     */
    activeId: string;
    /**
     * Personalizar el nombre 'Anterior | siguiente y Finalizar'
     * Formato de variable : objecto
     * Ej. configNames: object = {buttonBack: 'Regresar', buttonNext: 'Grabar', buttonFinish: 'Fin'}
     */
    iConfigNames: ConfigNames;
    configNames: ConfigNames;
    /**
     * Cuando cambia de step se destruira el contenido anterior o solo se oculatará?
     */
    destroyOnHide: boolean;
    /**
     * Emite cuando hay cambios de steps.
     */
    stepChange: EventEmitter<LambStepChangeEvent>;
    onComplete: EventEmitter<any>;
    justify: 'start' | 'center' | 'end' | 'fill' | 'justified';
    onSelect(stepId: string): void;
    constructor(config: LambStepConfig);
    ngOnInit(): void;
    orientation: 'horizontal' | 'vertical';
    type: 'stepss' | 'pills';
    ngAfterContentChecked(): void;
    private getStepById(id);
    back(): void;
    next(): void;
    complete(): void;
    private getStepIdSplice(condicion);
    readonly hidePrevious: boolean;
    readonly hideNext: boolean;
    hideLineRight(stepId: any): boolean;
    ngOnDestroy(): void;
}
export declare const LAMB_STEPS_COMPONENTS: (typeof LambStepTitleDirective | typeof LambStepDirective | typeof LambStepGroupComponent)[];
