import { AstElement, AstSequenceContent, Code, VariableName } from './types'; import { TypeName, AstVar, AstConstVar, AstSequence, AstFunc, AstClass } from './types'; type AstContentRaw = AstSequenceContent | AstSequence | null | number; type AstContentRawNested = Array; export type AstVarValue = Code | number | AstElement; export declare const Var: (typeName: TypeName, name: VariableName, value?: AstVarValue) => AstVar; export declare const ConstVar: (typeName: TypeName, name: VariableName, value: AstVarValue) => AstConstVar; export declare const Func: (name: string, args?: Array, returnType?: Code) => (strings: ReadonlyArray, ...content: AstContentRawNested) => AstFunc; export declare const AnonFunc: (args?: Array, returnType?: Code) => (strings: ReadonlyArray, ...content: AstContentRawNested) => AstFunc; export declare const Class: (name: string, members: Array) => AstClass; export declare const Sequence: (content: AstContentRawNested) => AstSequence; export declare const ast: (strings: ReadonlyArray, ...content: AstContentRawNested) => AstSequence; export declare const _processRawContent: (content: AstContentRawNested) => Array; export {};