import { OnInit, AfterViewInit, ViewContainerRef, ComponentFactoryResolver, QueryList, EventEmitter } from '@angular/core';
import { Router } from '@angular/router';
export declare type compositeStep = {
    stepName: string;
    errorMessage: string;
};
export declare type compositeStepConfig = {
    stepTitle: string;
    stepComponent: any;
    mandatory: boolean;
    preSelectedId: string;
    multiSelect: boolean;
    disableActionButtions: boolean;
    searchObj: any;
    submitFieldName: string;
};
export declare type submitComponent = {
    compoment: any;
    succeedUrl: string;
    cancelUrl: string;
    requireConfirm: boolean;
};
export declare class CompositeDirective {
    viewContainerRef: ViewContainerRef;
    constructor(viewContainerRef: ViewContainerRef);
}
export declare class CompositeSubmitDirective {
    viewContainerRef: ViewContainerRef;
    constructor(viewContainerRef: ViewContainerRef);
}
export declare class CompositeComponent implements OnInit, AfterViewInit {
    componentFactoryResolver: ComponentFactoryResolver;
    router: Router;
    steps: compositeStep[];
    stepConfigs: compositeStepConfig[];
    title: string;
    submit: submitComponent;
    totalSteps: number;
    stepCompRef: any[];
    stepCompIns: any[];
    stepCompEmitter: any[];
    submitCompRef: any;
    errorMessages: boolean[];
    submitting: boolean;
    componentEvents: EventEmitter<any>;
    compositeDirectives: QueryList<CompositeDirective>;
    compositeSubmitDirective: CompositeSubmitDirective;
    constructor(componentFactoryResolver: ComponentFactoryResolver, router: Router);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    reloadStep(index: number, stepConfig: compositeStepConfig): void;
    loadAllSteps(): void;
    allActionsReady(): boolean;
    onSubmit(): void;
    onCancel(): void;
}
