import { IgRect } from './IgRect';
import { ShapefileConverter as ShapefileConverter_internal } from "./ShapefileConverter";
import { ShapeType } from "./ShapeType";
import { Header } from "./Header";
import { AsyncCompletedEventArgs } from './igr-async-completed-event-args';
import { ShapefileRecord } from './igr-shapefile-record';
/**
 * Class used to convert Shapefiles into CLR objects.
*/
export declare class ShapeDataSource {
    protected createImplementation(): ShapefileConverter_internal;
    protected _implementation: any;
    readonly i: ShapefileConverter_internal;
    private onImplementationCreated;
    constructor();
    protected _provideImplementation(i: any): void;
    private _databaseSource;
    /**
     * Gets the string Uri path of the .dbf portion of the Shapefile
    */
    /**
     * Sets the string Uri path of the .dbf portion of the Shapefile
    */
    databaseSource: string;
    private _shapefileSource;
    /**
     * Gets the string Uri path of the .shp portion of the Shapefile
    */
    /**
     * Sets the string Uri path of the .shp portion of the Shapefile
    */
    shapefileSource: string;
    dataBind(): void;
    /**
    * Gets the point data.
    */
    getPointData(): ShapefileRecord[];
    /**
 * Gets the world bounding rectangle, as read from the header of the Shapefile.
*/
    worldRect: IgRect;
    /**
     * Gets the shape type, as read from the header of the Shapefile.
    */
    readonly shapeType: ShapeType;
    /**
     * Gets the header of the Shapefile.
    */
    shapeHeader: Header;
    private _importCompleted;
    private _importCompleted_wrapped;
    /**
     * Event raised when the Shapefile has been imported from both the ShapefileSource and DatabaseSource Uris.
    */
    importCompleted: (s: ShapeDataSource, e: AsyncCompletedEventArgs) => void;
}
