import { Context } from '../core'; export interface LoopWhileData { type: string; cond: any; block: any; } export interface LoopForData { type: string; item: any; index: any; iterator: any[]; block: any; meta?: any; } export declare const LoopInfinite: { create: (block: any) => { type: string; block: any; }; initialize: (ctx: Context, entry: LoopWhileData, entryData: any) => void; execute: (ctx: Context, entry: LoopWhileData, entryData: any, timeRemains: number) => { timeRemains: number; done: boolean; }; }; export declare const LoopWhile: { create: (cond: any, block: any) => { type: string; cond: any; block: any; }; initialize: (ctx: Context, entry: LoopWhileData, entryData: any) => void; next: (ctx: Context, entry: LoopWhileData, entryData: any, timeRemains: number) => void; execute: (ctx: Context, entry: LoopWhileData, entryData: any, timeRemains: number) => { timeRemains: number; done: boolean; }; }; export declare const LoopFor: { create: (item: any, index: any, iterator: any, block: any) => LoopForData; initialize: (ctx: Context, entry: LoopForData, entryData: any) => void; next: (ctx: Context, entry: LoopForData, entryData: any, timeRemains: number) => void; execute: (ctx: Context, entry: LoopForData, entryData: any, timeRemains: number) => { timeRemains: number; done: boolean; }; }; export declare const Block: { create: (statements: any) => { type: string; statements: any; }; }; export declare const Continue: { create: () => { type: string; }; execute: (ctx: Context, entry: any, entryData: any, timeRemains: number) => { timeRemains: number; done: boolean; }; }; export declare const Return: { create: (expr: any) => { type: string; expr: any; }; execute: (ctx: Context, entry: any, entryData: any, timeRemains: number) => { timeRemains: number; done: boolean; }; };