import { Context } from "./context";
import { OffsetLength } from "./offset_length";
import { Statements } from "./statements";
import { templateFormatting } from "./template_formatting";
import * as builtin from "./builtin";
import * as compare from "./compare";
import * as DB from "./db/db";
import * as operators from "./operators";
import * as RFC from "./rfc";
import * as types from "./types";
import { expandIN } from "./expand_in";
import { expandDynamic } from "./expand_dynamic";
import { ClassicError } from "./classic_error";
import { Console } from "./console/console";
import { MemoryConsole } from "./console/memory_console";
import { buildDbTableName } from "./prefix";
import { IntegerFactory } from "./integer_factory";
import { dynamicCallLookup } from "./dynamic_call_lookup";
import { CharacterFactory } from "./character_factory";
export { RFC, types, DB, MemoryConsole };
export type RuntimeDatabaseOptions = {
    schemaPrefix?: string;
    tablePrefix?: string;
};
export type RuntimeOptions = {
    console?: Console;
    database?: RuntimeDatabaseOptions;
};
export declare class ABAP {
    Classes: {
        [name: string]: any;
    };
    Forms: {
        [name: string]: any;
    };
    DDIC: {
        [name: string]: any;
    };
    FunctionModules: {
        [name: string]: any;
    };
    Interfaces: {
        [name: string]: any;
    };
    MSAG: {
        [name: string]: any;
    };
    OA2P: {
        [name: string]: any;
    };
    SMIM: {
        [name: string]: any;
    };
    TypePools: {
        [name: string]: any;
    };
    W3MI: {
        [name: string]: any;
    };
    internalIdCounter: number;
    statements: Statements;
    types: typeof types;
    builtin: typeof builtin;
    operators: typeof operators;
    compare: typeof compare;
    readonly console: Console;
    OffsetLength: typeof OffsetLength;
    templateFormatting: typeof templateFormatting;
    expandIN: typeof expandIN;
    expandDynamic: typeof expandDynamic;
    buildDbTableName: typeof buildDbTableName;
    ClassicError: typeof ClassicError;
    dynamicCallLookup: typeof dynamicCallLookup;
    IntegerFactory: typeof IntegerFactory;
    CharacterFactory: typeof CharacterFactory;
    readonly context: Context;
    readonly dbo: RuntimeDatabaseOptions;
    constructor(input?: RuntimeOptions);
}
