import { INxCellListBox } from "../..";
import { IGenericBaseLayoutExt } from "./qSelections";
export interface IGenericObjectPropertiesExt extends EngineAPI.IGenericObjectProperties {
    qListObjectDef: {
        qExpressions: string[];
        qFrequencyMode: string;
        qStateName: string;
        qInitialDataFetch: EngineAPI.INxPage[];
        qDef: {
            qActiveField: number;
            qFieldDefs: string[];
            qFieldLabels: string[];
            qGrouping: string;
            qNumberPresentations: EngineAPI.IFieldAttributes[];
            qSortCriterias: EngineAPI.ISortCriteria[];
        };
    };
}
export declare function mGetTablesAndFields(): Promise<{
    table: string;
    field: string;
}[]>;
export declare function mGetTables(): Promise<string[]>;
export declare function mGetFields(): Promise<string[]>;
export declare function mCreateSessionListbox(fieldName: string, 
/**
 * Additional options
 */
options?: {
    /**
     * Create the object in specific state. Defaults to $
     */
    state?: string;
    /**
     * Type of the object. Defaults to session-listbox
     */
    type?: string;
    /**
     * Destroy the session object at the end
     */
    destroyOnComplete?: boolean;
    /**
     * By default the first 10 000 values will be extracted and returned. If need all set this option to true
     */
    getAllData?: boolean;
}): Promise<{
    obj: EngineAPI.IGenericObject;
    layout: IGenericBaseLayoutExt;
    props: IGenericObjectPropertiesExt;
    flattenData(): INxCellListBox[];
}>;
export declare function mGetSyntheticTables(): Promise<EngineAPI.ITableRecord[]>;
export declare function mGetAlwaysOneSelectedFields(): Promise<string[]>;
