import { StructuralDirective } from './structural.directive';
/**
* Enhanced If directive with #else and #elseif support.
*
* Usage:
* ```html
*
Shown when condition1 is truthy
* Shown when condition2 is truthy
* Shown when all conditions are falsy
* ```
*
* The IfDirective owns the entire chain. ElseIfDirectives register
* themselves via registerElseIf(). #else elements (static attribute)
* are detected and claimed during mount().
*/
export declare class IfDirective extends StructuralDirective {
private condition;
private chain;
private static readonly OWNER_KEY;
mount(element: Element): void;
/**
* Scan forward from the #if comment to find an #else sibling element.
* Skips over text nodes and #elseif elements (they register themselves).
*/
private collectElseBranch;
/**
* Called by ElseIfDirective to register itself in the chain.
*/
registerElseIf(directive: ElseIfDirective, element: Element, comment: Comment): void;
/**
* Called when a registered ElseIfDirective's condition changes.
*/
updateElseIfCondition(directive: ElseIfDirective, condition: boolean): void;
protected updateContent(value: unknown): void;
/**
* Evaluate the if/elseif/else chain and show exactly one branch.
*/
private evaluateChain;
}
/**
* ElseIf directive — registers with the preceding IfDirective.
*
* Usage:
* ```html
* A
* B
* ```
*/
export declare class ElseIfDirective extends StructuralDirective {
private parentIf;
private condition;
mount(element: Element): void;
protected updateContent(value: unknown): void;
}
//# sourceMappingURL=if.directive.d.ts.map