import { PortalInfo } from './discover-portal'; import { ISdkSettings } from './types'; export interface IListingSort { by: string; dir?: 'asc' | 'desc'; } export declare function toSortDescriptors(sortBy: string | undefined): IListingSort[] | null; export declare function toPortalPagination(body: T): Omit & { start?: unknown; }; export interface IListingsFilters { limit?: number; offset?: number; brand?: string; brands?: string[]; listing_statuses: string[]; minimum_price?: number; maximum_price?: number; minimum_bedrooms?: number; maximum_bedrooms?: number; minimum_bathrooms?: number; minimum_parking_spaces?: number; minimum_square_meters?: number; maximum_square_meters?: number; minimum_lot_square_meters?: number; maximum_lot_square_meters?: number; minimum_year_built?: number; maximum_year_built?: number; pool?: boolean; open_house?: boolean; office_exclusive?: boolean; minimum_sold_date?: number; property_types?: string[]; property_subtypes?: string[]; architectural_styles?: string[]; agents?: string[]; list_agents?: string[]; list_offices?: string[]; mls_number?: string[]; content?: string; mlses?: string[]; postal_codes?: string[]; mls_areas?: string[]; school_districts?: string[]; subdivisions?: string[]; counties?: string[]; boundaries?: string[]; points?: Array<{ latitude: number; longitude: number; }>; sort?: IListingSort[]; } export interface IListingsSearchParams { filters: IListingsFilters; sortBy?: string; limit?: number; offset?: number; } export interface IListingsSearchResult { data: Record[]; info: { count: number; total: number; } | null; } export interface IListingsCountResult { total: number; } export declare class Listings { private _portalReady; private _baseUrl; constructor(portalReady: Promise, settings?: ISdkSettings); private portal; search(params: IListingsSearchParams): Promise; count(params: IListingsSearchParams): Promise; }