import { EventEmitter } from '@angular/core';
import { StepItem } from '../../models/step-item.model';
import * as i0 from "@angular/core";
export type StepStatus = 'completed' | 'current' | 'upcoming' | 'error';
export type StepPosition = 'right' | 'left' | 'top' | 'bottom';
export type StepIndicatorType = 'numeric' | 'icon' | 'custom' | 'empty';
export type StepTagType = 'alert' | 'error' | 'success' | 'none';
export type StepLayoutType = 'horizontal' | 'vertical';
export declare class StepComponent {
    steps: StepItem[];
    labelPosition: StepPosition;
    indicatorType: StepIndicatorType;
    showHiddenSteps: boolean;
    currentStep: number;
    allowClickOnCompleted: boolean;
    allowClickOnUpcoming: boolean;
    type: StepLayoutType;
    stepClick: EventEmitter<number>;
    constructor();
    onStepClick(stepId: number, step: StepItem): void;
    onStepMouseEnter(step: StepItem): void;
    onStepMouseLeave(step: StepItem): void;
    isStepClickable(step: StepItem): boolean;
    getStepCursorClass(step: StepItem): string;
    isCompletedStep(step: StepItem): boolean;
    isCurrentStep(step: StepItem): boolean;
    isUpcomingStep(step: StepItem): boolean;
    isErrorStep(step: StepItem): boolean;
    hasHiddenStepsBefore(): boolean;
    hasHiddenStepsAfter(): boolean;
    hasTag(step: StepItem): boolean;
    hasAlertTag(step: StepItem): boolean;
    hasErrorTag(step: StepItem): boolean;
    hasSuccessTag(step: StepItem): boolean;
    getTooltipMessage(step: StepItem): string;
    shouldReplaceIndicatorWithTag(step: StepItem): boolean;
    isCurrentStepWithTag(step: StepItem): boolean;
    getPreviousStepStatus(currentId: number): StepStatus | null;
    isLast(index: number): boolean;
    isHorizontal(): boolean;
    isVertical(): boolean;
    getTooltipClass(step: StepItem): string;
    getLabelClass(step: StepItem): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<StepComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<StepComponent, "cfc-step", never, { "steps": { "alias": "steps"; "required": false; }; "labelPosition": { "alias": "labelPosition"; "required": false; }; "indicatorType": { "alias": "indicatorType"; "required": false; }; "showHiddenSteps": { "alias": "showHiddenSteps"; "required": false; }; "currentStep": { "alias": "currentStep"; "required": false; }; "allowClickOnCompleted": { "alias": "allowClickOnCompleted"; "required": false; }; "allowClickOnUpcoming": { "alias": "allowClickOnUpcoming"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, { "stepClick": "stepClick"; }, never, never, false, never>;
}
