import { DmsApplicationService } from '../../lib-core/application-context-service';
import { ContextService } from '../../lib-core/context-service';
import { MetadataService } from '../../lib-core/metadata-service';
import { DmsControl, DmsControlHostView } from './dms-controls-controlbase';
export declare const defaultMaxRecordsPerGrid = 300;
export declare class DmsDataSourceControl extends DmsControl {
    options?: any;
    protected maxRecordsPerGrid: number;
    entityName: string;
    appCode: string;
    gridList: Array<any>;
    sorting: string;
    protected afterGetRecordsName: string;
    protected beforeGetRecordsName: string;
    protected metadataService: MetadataService;
    protected contextService: ContextService;
    protected dmsAppService: DmsApplicationService;
    constructor(controlId: string, hostingView: DmsControlHostView, options?: any);
    load(): Promise<void>;
    private _getQuery;
    rawExecuteSelect({ entityName, appCode, fields, sort, filter, expand }: {
        entityName?: string;
        appCode?: string;
        fields?: string;
        sort?: string;
        filter?: string;
        expand?: any;
    }): Promise<Array<any>>;
    addEntity(modifiedRecord: any): Promise<any>;
    updateEntity(modifiedRecord: any): Promise<any>;
    deleteRecord(records: any[]): Promise<any>;
    getEntityMetadata(entityName?: string): Promise<any>;
    getFilter(): Promise<string>;
    fetchRecords(filter?: string, page?: number, pageSize?: number): Promise<Array<any>>;
}
export declare function DmsDataSourceFactory(hostingView: DmsControlHostView): Promise<any[]>;
