import { Directionality } from '@angular/cdk/bidi';
import { CdkStepper } from '@angular/cdk/stepper';
import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import { QdDialogService } from '../dialog/dialog.module';
import { QdPageFooterService } from '../page/shared/services/page-footer.service';
import { QdPageStoreService } from '../page/shared/services/page-store.service';
import { QdPageStepResolver } from './model/page-step.resolver';
import { QdPageStepperConfig } from './model/qd-page-stepper-config';
import { QdPageStepComponent } from './page-step/page-step.component';
import * as i0 from "@angular/core";
/**
 * The **QdPageStepper** allows linear navigation through process steps within a **QdPage**.
 */
export declare class QdPageStepperComponent extends CdkStepper implements OnInit, AfterContentInit, OnChanges, OnDestroy {
    readonly footerService: QdPageFooterService;
    private readonly pageStepResolver;
    private readonly router;
    private readonly dialog;
    private readonly pageService;
    /**
     * Configuration of QdPageStepperComponent.
     *
     * * @note The use of CDK attributes is not permitted. Please configure this component here.
     */
    config: QdPageStepperConfig;
    /**
     * A static test ID for integration tests can be set.
     */
    testId: string;
    /**
     * Emits when the Stepper is submitted. If form exist, the form data will be emitted.
     */
    submitted: EventEmitter<any>;
    readonly steps: QueryList<QdPageStepComponent>;
    selectedStepValid$: Observable<boolean>;
    allStepsValid$: Observable<boolean>;
    private _destroyed$;
    private isGoingToNextStep;
    constructor(_dir: Directionality, footerService: QdPageFooterService, pageStepResolver: QdPageStepResolver, _changeDetectorRef: ChangeDetectorRef, _elementRef: ElementRef<HTMLElement>, router: Router, dialog: QdDialogService, pageService: QdPageStoreService<any>);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    handleClickHeader(step: QdPageStepComponent, clickedIndex: number): void;
    previousStep(): void;
    nextStep(): void;
    submit(): void;
    cancel(): void;
    showNextButton(selectedIndex: number): boolean;
    showPreviousButton(selectedIndex: number): boolean;
    showSubmitButton(selectedIndex: number): boolean;
    private isSelectedStepValid$;
    private areAllStepsValid$;
    private setFooterActions;
    private updateFooterActionsVisibility;
    private updateFooterActionsDisabledState;
    private blockCdkInput;
    static ɵfac: i0.ɵɵFactoryDeclaration<QdPageStepperComponent, [{ optional: true; }, { optional: true; }, { optional: true; }, null, null, null, null, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<QdPageStepperComponent, "qd-page-stepper", never, { "config": { "alias": "config"; "required": false; }; "testId": { "alias": "data-test-id"; "required": false; }; }, { "submitted": "submitted"; }, never, never, true, never>;
}
//# sourceMappingURL=page-stepper.component.d.ts.map