import { AfterContentInit, InputSignal, InputSignalWithTransform, ModelSignal, QueryList, TemplateRef } from '@angular/core';
import { PrimeTemplate } from 'primeng/api';
import { BaseComponent } from 'primeng/basecomponent';
import { StepperStyle } from './style/stepperstyle';
import * as i0 from "@angular/core";
import * as i1 from "primeng/api";
/**
 * Context interface for the StepPanel content template.
 * @property {() => void} activateCallback - Callback function to activate a step.
 * @property {number} value - The value associated with the step.
 * @property {boolean} active - A flag indicating whether the step is active.
 * @group Interface
 */
export interface StepContentTemplateContext {
    activateCallback: () => void;
    value: number;
    active: boolean;
}
/**
 * Context interface for the StepPanel content template.
 * @property {(index: number) => void} activateCallback - Callback function to activate a step.
 * @property {number} value - The value associated with the step.
 * @property {boolean} active - A flag indicating whether the step is active.
 * @group Interface
 */
export interface StepPanelContentTemplateContext {
    activateCallback: (index: number) => void;
    value: number;
    active: boolean;
}
export declare class StepList extends BaseComponent {
    steps: import("@angular/core").Signal<readonly any[]>;
    static ɵfac: i0.ɵɵFactoryDeclaration<StepList, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<StepList, "p-step-list", never, {}, {}, ["steps"], ["*"], true, never>;
}
export declare class StepperSeparator extends BaseComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<StepperSeparator, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<StepperSeparator, "p-stepper-separator", never, {}, {}, never, ["*"], true, never>;
}
/**
 * StepItem is a helper component for Stepper component used in vertical orientation.
 * @group Components
 */
export declare class StepItem extends BaseComponent {
    pcStepper: any;
    /**
     * Value of step.
     * @type {<number | undefined>}
     * @defaultValue undefined
     * @group Props
     */
    value: ModelSignal<number | undefined>;
    isActive: import("@angular/core").Signal<boolean>;
    step: import("@angular/core").Signal<any>;
    stepPanel: import("@angular/core").Signal<any>;
    constructor();
    static ɵfac: i0.ɵɵFactoryDeclaration<StepItem, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<StepItem, "p-step-item", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, ["step", "stepPanel"], ["*"], true, never>;
}
/**
 * Step is a helper component for Stepper component.
 * @group Components
 */
export declare class Step extends BaseComponent implements AfterContentInit {
    pcStepper: any;
    /**
     * Active value of stepper.
     * @type {number}
     * @defaultValue undefined
     * @group Props
     */
    value: ModelSignal<number>;
    /**
     * Whether the step is disabled.
     * @type {boolean}
     * @defaultValue false
     * @group Props
     */
    disabled: InputSignalWithTransform<any, boolean>;
    active: import("@angular/core").Signal<any>;
    isStepDisabled: import("@angular/core").Signal<any>;
    id: import("@angular/core").Signal<string>;
    ariaControls: import("@angular/core").Signal<string>;
    isSeparatorVisible: import("@angular/core").Signal<boolean>;
    /**
     * Content template.
     * @type {TemplateRef<StepContentTemplateContext>}
     * @group Templates
     */
    content: TemplateRef<StepContentTemplateContext>;
    templates: QueryList<PrimeTemplate> | undefined;
    _contentTemplate: TemplateRef<any> | undefined;
    ngAfterContentInit(): void;
    onStepClick(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<Step, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<Step, "p-step", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, ["content", "templates"], ["*"], true, never>;
}
/**
 * StepPanel is a helper component for Stepper component.
 * @group Components
 */
export declare class StepPanel extends BaseComponent implements AfterContentInit {
    pcStepper: any;
    transitionOptions: import("@angular/core").Signal<any>;
    /**
     * Active value of stepper.
     * @type {number}
     * @defaultValue undefined
     * @group Props
     */
    value: ModelSignal<number>;
    active: import("@angular/core").Signal<boolean>;
    ariaControls: import("@angular/core").Signal<string>;
    id: import("@angular/core").Signal<string>;
    isVertical: import("@angular/core").Signal<boolean>;
    isSeparatorVisible: import("@angular/core").Signal<boolean>;
    /**
     * Content template.
     * @param {StepPanelContentTemplateContext} context - Context of the template
     * @see {@link StepPanelContentTemplateContext}
     * @group Templates
     */
    contentTemplate: TemplateRef<StepPanelContentTemplateContext>;
    templates: QueryList<PrimeTemplate> | undefined;
    _contentTemplate: TemplateRef<any> | undefined;
    ngAfterContentInit(): void;
    updateValue(value: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<StepPanel, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<StepPanel, "p-step-panel", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, ["contentTemplate", "templates"], never, true, never>;
}
export declare class StepPanels extends BaseComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<StepPanels, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<StepPanels, "p-step-panels", never, {}, {}, never, ["*"], true, never>;
}
/**
 * Stepper is a component that streamlines a wizard-like workflow, organizing content into coherent steps and visually guiding users through a numbered progression in a multistep process.
 * @group Components
 */
export declare class Stepper extends BaseComponent {
    /**
     * A model that can hold a numeric value or be undefined.
     * @defaultValue undefined
     * @type {ModelSignal<number | undefined>}
     * @group Props
     */
    value: ModelSignal<number | undefined>;
    /**
     * A boolean variable that captures user input.
     * @defaultValue false
     * @type {InputSignalWithTransform<any, boolean >}
     * @group Props
     */
    linear: InputSignalWithTransform<any, boolean>;
    /**
     * Transition options of the animation.
     * @defaultValue 400ms cubic-bezier(0.86, 0, 0.07, 1)
     * @type {InputSignal<string >}
     * @group Props
     */
    transitionOptions: InputSignal<string>;
    _componentStyle: StepperStyle;
    id: import("@angular/core").WritableSignal<string>;
    stepItems: import("@angular/core").Signal<readonly StepItem[]>;
    steps: import("@angular/core").Signal<readonly Step[]>;
    stepList: import("@angular/core").Signal<StepList>;
    updateValue(value: number): void;
    isStepActive(value: number): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<Stepper, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<Stepper, "p-stepper", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; "transitionOptions": { "alias": "transitionOptions"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, ["stepItems", "steps", "stepList"], ["*"], true, never>;
}
export declare class StepperModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<StepperModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<StepperModule, never, [typeof Stepper, typeof StepList, typeof StepPanels, typeof StepPanel, typeof StepItem, typeof Step, typeof StepperSeparator, typeof i1.SharedModule], [typeof Stepper, typeof StepList, typeof StepPanels, typeof StepPanel, typeof StepItem, typeof Step, typeof StepperSeparator, typeof i1.SharedModule]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<StepperModule>;
}
