import { LitElement, type PropertyValues } from 'lit';
/**
* A step component used within an `igc-stepper` to represent an individual step in a wizard-like workflow.
*
* @remarks
* Each step has a header (with an indicator, title, and subtitle) and a content area.
* Steps can be marked as `active`, `complete`, `disabled`, `optional`, or `invalid`
* to control their appearance and behavior within the stepper.
*
* Custom indicators can be provided via the `indicator` slot, and the content area
* is rendered in the default slot.
*
* @element igc-step
*
* @slot - Renders the content of the step.
* @slot indicator - Renders the indicator of the step. By default, it displays the step index + 1.
* @slot title - Renders the title of the step.
* @slot subtitle - Renders the subtitle of the step.
*
* @csspart header-container - Wrapper of the step's `header` and its separators.
* @csspart disabled - Indicates a disabled state. Applies to `header-container`.
* @csspart complete-start - Indicates a complete state of the current step. Applies to `header-container`.
* @csspart complete-end - Indicates a complete state of the previous step. Applies to `header-container`.
* @csspart optional - Indicates an optional state. Applies to `header-container`.
* @csspart invalid - Indicates an invalid state. Applies to `header-container`.
* @csspart top - Indicates that the title should be above the indicator. Applies to `header-container`.
* @csspart bottom - Indicates that the title should be below the indicator. Applies to `header-container`.
* @csspart start - Indicates that the title should be before the indicator. Applies to `header-container`.
* @csspart end - Indicates that the title should be after the indicator. Applies to `header-container`.
* @csspart header - Wrapper of the step's `indicator` and `text`.
* @csspart indicator - The indicator of the step.
* @csspart text - Wrapper of the step's `title` and `subtitle`.
* @csspart empty - Indicates that no title and subtitle have been provided to the step. Applies to `text`.
* @csspart title - The title of the step.
* @csspart subtitle - The subtitle of the step.
* @csspart body - Wrapper of the step's `content`.
* @csspart content - The step's `content`.
*
* @example
* ```html
*
*
* Home
* Return to the home page
* Welcome! This is the first step.
*
* ```
*
* @example Step with state attributes
* ```html
*
* Completed step
* This step has been completed.
*
*
*
* Current step
* This step has validation errors.
*
*
*
* Disabled step
* This step is not accessible.
*
* ```
*/
export default class IgcStepComponent extends LitElement {
static readonly tagName = "igc-step";
static styles: import("lit").CSSResult[];
static register(): void;
private readonly _bodyRef;
private readonly _contentRef;
private readonly _bodyPlayer;
private readonly _contentPlayer;
private readonly _slots;
private readonly _stepperContext?;
private get _stepper();
private get _state();
private get _isHorizontal();
private get _hasTitle();
private get _hasSubtitle();
private get _animation();
private get _animationDuration();
private get _contentTop();
private get _index();
private get _orientation();
private get _titlePosition();
private get _stepType();
private get _previousComplete();
private get _visited();
private get _isAccessible();
/**
* Whether the step is invalid.
*
* Invalid steps are styled with an error state and are not
* interactive when the stepper is in linear mode.
*
* @attr invalid
* @default false
*/
invalid: boolean;
/**
* Whether the step is active.
*
* Active steps are styled with an active state and their content is visible.
*
* @attr active
* @default false
*/
active: boolean;
/**
* Whether the step is optional.
*
* Optional steps validity does not affect the default behavior when the stepper is in linear mode i.e.
* if optional step is invalid the user could still move to the next step.
*
* @attr optional
* @default false
*/
optional: boolean;
/**
* Whether the step is disabled.
*
* Disabled steps are styled with a disabled state and are not interactive.
*
* @attr disabled
* @default false
*/
disabled: boolean;
/**
* Whether the step is completed.
*
* @attr complete
* @default false
*/
complete: boolean;
constructor();
protected willUpdate(changed: PropertyValues): void;
/**
* @hidden @internal
* @deprecated since 5.4.0. Use the Stepper's `navigateTo` method instead.
*/
toggleAnimation(type: 'in' | 'out', direction?: 'normal' | 'reverse'): Promise;
private get _headerContainerParts();
private get _textParts();
private _renderIndicator;
private _renderTitleAndSubtitle;
private _renderHeader;
private _renderContent;
protected render(): import("lit-html").TemplateResult<1>;
}
declare global {
interface HTMLElementTagNameMap {
'igc-step': IgcStepComponent;
}
}