import { IgRect } from './IgRect';
import { ShapefileConverter as ShapefileConverter_internal } from "./ShapefileConverter";
import { ShapeType } from "./ShapeType";
import { Header } from "./Header";
import { IgrAsyncCompletedEventArgs } from './igr-async-completed-event-args';
import { IgrShapefileRecord } from './igr-shapefile-record';
import { IgrShapeFilterRecordEventArgs } from './igr-shape-filter-record-event-args';
/**
 * Class used to convert Shapefiles into CLR objects.
*/
export declare class IgrShapeDataSource {
    protected createImplementation(): ShapefileConverter_internal;
    protected _implementation: any;
    get i(): ShapefileConverter_internal;
    private onImplementationCreated;
    constructor();
    protected _provideImplementation(i: any): void;
    dataBind(): void;
    /**
    * Gets the point data.
    */
    getPointData(): IgrShapefileRecord[];
    get name(): string;
    set name(v: string);
    /**
     * Gets the world bounding rectangle, as read from the header of the Shapefile.
    */
    get worldRect(): IgRect;
    set worldRect(v: IgRect);
    /**
     * Gets the world bounding rectangle, based on the filtered shapes
    */
    get computedWorldRect(): IgRect;
    set computedWorldRect(v: IgRect);
    /**
     * Gets the shape type, as read from the header of the Shapefile.
    */
    get shapeType(): ShapeType;
    /**
     * Gets the header of the Shapefile.
    */
    get shapeHeader(): Header;
    set shapeHeader(v: Header);
    /**
     * The Uri of the .shp portion of the Shapefile.
    */
    get deferImportCompleted(): boolean;
    set deferImportCompleted(v: boolean);
    /**
     * The Uri of the .shp portion of the Shapefile.
    */
    get shapefileSource(): string;
    set shapefileSource(v: string);
    /**
     * The Uri of the .dbf portion of the Shapefile.
    */
    get databaseSource(): string;
    set databaseSource(v: string);
    /**
     * The total number of ShapefileRecords in the collection.
    */
    get count(): number;
    findByName(name: string): any;
    getWorldBounds(useComputed: boolean): IgRect;
    setWorldBounds(setComputed: boolean, bounds: IgRect): void;
    sendImportCompleted(): void;
    getRecordsCount(): number;
    getRecord(index: number): IgrShapefileRecord;
    getRecordBounds(index: number): IgRect;
    getRecordFieldNames(index: number): string[];
    getRecordValue(index: number, fieldName: string): any;
    removeRecord(index: number): void;
    shiftAllShapes(offsetX: number, offsetY: number): void;
    shiftShapes(recordIndex: number, offsetX: number, offsetY: number): void;
    getMaxLongitude(recordIndex: number, useLargestShape: boolean, fromLongitude: number, toLongitude: number): number;
    setRecordValue(index: number, fieldName: string, value: any): void;
    getRecordValues(fieldName: string): any[];
    setRecordValues(fieldName: string, values: any[]): void;
    getLargestShapeBoundsForRecord(index: number): IgRect;
    private _importPending;
    private _importPending_wrapped;
    /**
     * Event raised when the Shapefile has been imported from both the ShapefileSource and DatabaseSource Uris.
    */
    get importPending(): (s: IgrShapeDataSource, e: IgrAsyncCompletedEventArgs) => void;
    set importPending(ev: (s: IgrShapeDataSource, e: IgrAsyncCompletedEventArgs) => void);
    private _importCompleted;
    private _importCompleted_wrapped;
    /**
     * Event raised when the Shapefile has been imported from both the ShapefileSource and DatabaseSource Uris.
    */
    get importCompleted(): (s: IgrShapeDataSource, e: IgrAsyncCompletedEventArgs) => void;
    set importCompleted(ev: (s: IgrShapeDataSource, e: IgrAsyncCompletedEventArgs) => void);
    private _filter;
    private _filter_wrapped;
    get filter(): (s: IgrShapeDataSource, e: IgrShapeFilterRecordEventArgs) => void;
    set filter(ev: (s: IgrShapeDataSource, e: IgrShapeFilterRecordEventArgs) => void);
}
