import { ApiClient } from './client'; import { Parking, ParkingCreateParams, ParkingUpdateParams, ParkingFilters, ApiResponse, PaginationParams, PaginatedResponse } from './types'; export declare class Parkings { private client; constructor(client: ApiClient); /** * Get a paginated list of parkings with optional filtering * @param filters Optional filter parameters * @returns Promise with paginated parking list */ list(filters?: ParkingFilters): Promise; /** * Get a paginated list of parkings with pagination controls * @param paginationParams Pagination parameters (page, limit, sort, order) * @param filters Optional filter parameters * @returns Promise with paginated parkings */ listPaginated(paginationParams: PaginationParams, filters?: ParkingFilters): Promise>; /** * Get publicly available parkings (limited information) * @param filters Optional filter parameters * @returns Promise with paginated public parking list */ listPublic(filters?: ParkingFilters): Promise>; /** * Get a specific parking by ID * @param parkingId The ID of the parking to retrieve * @returns Promise with parking details */ get(parkingId: string): Promise>; /** * Get a specific parking by ID (public endpoint with limited info) * @param parkingId The ID of the parking to retrieve * @returns Promise with limited parking details */ getPublic(parkingId: string): Promise>; /** * Create a new parking * @param params The parking creation parameters * @returns Promise with the created parking */ create(params: ParkingCreateParams): Promise>; /** * Update an existing parking * @param parkingId The ID of the parking to update * @param params The parking update parameters * @returns Promise with the updated parking */ update(parkingId: string, params: ParkingUpdateParams): Promise>; /** * Delete a parking * @param parkingId The ID of the parking to delete * @returns Promise with the deletion result */ delete(parkingId: string): Promise>; /** * Reserve a parking spot * @param params The parking reservation parameters * @returns Promise with the reserved parking */ reserve(params: ParkingCreateParams): Promise>; /** * Start a parking session * @param parkingId The ID of the parking to start * @returns Promise with the started parking */ start(parkingId: string): Promise>; /** * End a parking session * @param parkingId The ID of the parking to end * @returns Promise with the ended parking */ end(parkingId: string): Promise>; /** * Mark a parking as paid * @param parkingId The ID of the parking to mark as paid * @returns Promise with the paid parking */ markAsPaid(parkingId: string): Promise>; /** * Cancel a parking * @param parkingId The ID of the parking to cancel * @returns Promise with the cancelled parking */ cancel(parkingId: string): Promise>; /** * Archive a parking * @param parkingId The ID of the parking to archive * @returns Promise with the archived parking */ archive(parkingId: string): Promise>; }