import { DependencyObjectNotifier } from "./DependencyObjectNotifier";
import { IList$1, IEnumerator$1, IEnumerator, Point, Type } from "./type";
import { ShapefileRecord } from "./ShapefileRecord";
import { INotifyCollectionChanged } from "./INotifyCollectionChanged";
import { Rect } from "./Rect";
import { ShapeType } from "./ShapeType";
import { Header } from "./Header";
import { List$1 } from "./List$1";
import { NotifyCollectionChangedEventArgs } from "./NotifyCollectionChangedEventArgs";
import { AsyncCompletedEventArgs } from "./AsyncCompletedEventArgs";
import { ShapeFilterRecordEventArgs } from "./ShapeFilterRecordEventArgs";
/**
 * @hidden
 */
export declare class ShapefileConverter extends DependencyObjectNotifier implements IList$1<ShapefileRecord>, INotifyCollectionChanged {
    static $t: Type;
    private _name;
    get name(): string;
    set name(a: string);
    constructor();
    get worldRect(): Rect;
    set worldRect(a: Rect);
    private a8;
    get computedWorldRect(): Rect;
    set computedWorldRect(a: Rect);
    private a7;
    getWorldBounds(a: boolean): Rect;
    setWorldBounds(a: boolean, b: Rect): void;
    get shapeType(): ShapeType;
    private _shapeHeader;
    get shapeHeader(): Header;
    set shapeHeader(a: Header);
    deferImportCompleted: boolean;
    shapefileSource: string;
    databaseSource: string;
    private aw;
    private q;
    sendImportCompleted(): void;
    importPending: (sender: any, args: AsyncCompletedEventArgs) => void;
    importCompleted: (sender: any, args: AsyncCompletedEventArgs) => void;
    private au;
    private at;
    private av;
    private x;
    private get records();
    private set records(value);
    collectionChanged: (sender: any, e: NotifyCollectionChangedEventArgs) => void;
    indexOf(a: ShapefileRecord): number;
    insert(a: number, b: ShapefileRecord): void;
    removeAt(a: number): void;
    item(a: number, b?: ShapefileRecord): ShapefileRecord;
    add(a: ShapefileRecord): void;
    clear(): void;
    contains(a: ShapefileRecord): boolean;
    copyTo(a: ShapefileRecord[], b: number): void;
    get count(): number;
    get isReadOnly(): boolean;
    remove(a: ShapefileRecord): boolean;
    getEnumerator(): IEnumerator$1<ShapefileRecord>;
    getEnumeratorObject(): IEnumerator;
    getPointData(): List$1<ShapefileRecord>;
    getRecordsCount(): number;
    getRecord(a: number): ShapefileRecord;
    getRecordBounds(a: number): Rect;
    getRecordFieldNames(a: number): string[];
    getRecordValue(a: number, b: string): any;
    removeRecord(a: number): void;
    shiftAllShapes(a: number, b: number): void;
    shiftShapes(a: number, b: number, c: number): void;
    static readonly minLatitude: number;
    static readonly maxLatitude: number;
    static readonly minLongitude: number;
    static readonly maxLongitude: number;
    private static ai;
    private static ah;
    private static ag;
    static isValidGeoPoint(a: Point): boolean;
    static isValidGeoShape(a: List$1<Point>): boolean;
    private static w;
    getMaxLongitude(a: number, b: boolean, c: number, d: number): number;
    setRecordValue(a: number, b: string, c: any): void;
    getRecordValues(a: string): any[];
    setRecordValues(a: string, b: any[]): void;
    private static ba;
    getLargestShapeBoundsForRecord(a: number): Rect;
    private static v;
    filter: (sender: any, e: ShapeFilterRecordEventArgs) => void;
    static $$p: string[];
}
