import { ASTBase, ASTBaseBlock, ASTBaseBlockOptions, ASTBaseOptions, ASTType } from './base'; export declare class ASTClause extends ASTBaseBlock { } export interface ASTIfStatementOptions extends ASTBaseOptions { clauses?: ASTClause[]; } export declare class ASTIfStatement extends ASTBase { clauses: ASTClause[]; constructor(type: ASTType.IfShortcutStatement | ASTType.IfStatement, options: ASTIfStatementOptions); toString(): string; clone(): ASTIfStatement; } export interface ASTIfClauseOptions extends ASTBaseBlockOptions { condition: ASTBase; } export declare class ASTIfClause extends ASTClause { condition: ASTBase; constructor(type: ASTType.IfShortcutClause | ASTType.ElseifShortcutClause | ASTType.IfClause | ASTType.ElseifClause, options: ASTIfClauseOptions); toString(): string; clone(): ASTIfClause; } export declare class ASTElseClause extends ASTClause { constructor(type: ASTType.ElseShortcutClause | ASTType.ElseClause, options: ASTBaseBlockOptions); toString(): string; clone(): ASTElseClause; }