import { Ast, CallAst, ConstantAst } from "../ast/Ast"; import { SerializedSlotBase, SerializedSlot, SerializedStatementSlot, SerializedConstantSlot, SerializedFixedSlot } from "./SerializedSlot"; export declare abstract class SqrlSlot { private index; name: string; constructor(nameOrData: string | SerializedSlotBase); serialize(): SerializedSlot; deserializor(data: SerializedSlot): void; abstract finalizedAst(): Ast; getIndex(): number; setIndex(idx: number): void; } export declare class SqrlIteratorSlot extends SqrlSlot { finalizedAst(): ConstantAst; } export declare class SqrlStatementSlot extends SqrlSlot { private finalized; private referencedSlots; serialize(): SerializedStatementSlot; deserializor(data: SerializedStatementSlot): void; finalizedAst(): CallAst; addWait(slotName: string): void; } export declare class SqrlConstantSlot extends SqrlSlot { private finalized; ast: ConstantAst; constructor(name: string, value: any); deserializor(data: SerializedConstantSlot): void; serialize(): SerializedConstantSlot; setValue(value: any): void; getValue(): any; finalizedAst(): ConstantAst; } export declare class SqrlEmptySlot extends SqrlSlot { finalizedAst(): ConstantAst; } export declare class SqrlInputSlot extends SqrlSlot { finalizedAst(): ConstantAst; } export declare class SqrlFixedSlot extends SqrlSlot { private ast; readonly replaceable: boolean; constructor(name: string, ast: Ast, replaceable?: boolean); deserializor(data: SerializedFixedSlot): void; serialize(): SerializedFixedSlot; finalizedAst(): Ast; }