export interface Coordinates {
  lat: number;
  lng: number;
}

export interface LocationData {
  coordinates: Coordinates;
  address: string;
  city: string;
  state: string;
  country: string;
  postalCode: string;
  displayName: string;
}

export type PermissionStatus = "prompt" | "granted" | "denied" | "blocked" | "unavailable";

export interface LocationState {
  permission: PermissionStatus;
  location: LocationData | null;
  isLoading: boolean;
  error: string | null;
}
