import { AbstractControl, ValidationErrors, Validator } from '@angular/forms';
import * as i0 from "@angular/core";
export declare type CoordinateType = 'latitude' | 'longitude' | 'both';
/**
* Coordinate validator directive
*
* Usage:
*
*
*
*/
export declare class CoordinateValidatorDirective implements Validator {
coordinateType: CoordinateType;
validate(control: AbstractControl): ValidationErrors | null;
/**
* Validate latitude value
*/
private validateLatitude;
/**
* Validate longitude value
*/
private validateLongitude;
/**
* Validate coordinate pair (lat,lng format)
*/
private validateCoordinatePair;
/**
* Parse number from string or return null if invalid
*/
private parseNumber;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaration;
}
/**
* Standalone validator functions for use in reactive forms
*/
export declare class CoordinateValidators {
/**
* Latitude validator
*/
static latitude(control: AbstractControl): ValidationErrors | null;
/**
* Longitude validator
*/
static longitude(control: AbstractControl): ValidationErrors | null;
/**
* Coordinate pair validator
*/
static coordinates(control: AbstractControl): ValidationErrors | null;
/**
* Create custom coordinate range validator
*/
static range(minLat: number, maxLat: number, minLng: number, maxLng: number): (control: AbstractControl) => ValidationErrors | null;
/**
* Precision validator (number of decimal places)
*/
static precision(maxDecimalPlaces: number): (control: AbstractControl) => ValidationErrors | null;
}