import { OnChanges, SimpleChanges } from '@angular/core';
import { TomtomService } from '@aztrix/helpers';
import { Property, PropertyType } from '@aztrix/models';
import { PropertyRepresentation } from '@aztrix/sdk';
import { BehaviorSubject, Observable, ReplaySubject, Subject } from 'rxjs';
import { AutocompletionComponent } from '../autocompletion.component';
import * as i0 from "@angular/core";
export interface ResultsGroup {
    title: string;
    results$: Observable<Property[]> | Observable<string[]>;
}
export declare enum AutocompleteType {
    ADDRESS = "ADDRESS",
    STREET = "STREET",
    MANUAL = "MANUAL"
}
export declare class AddressAutocompletionComponent extends AutocompletionComponent implements OnChanges {
    private _tomTom;
    properties: (Property | PropertyRepresentation)[];
    propertyType: PropertyType;
    showManualOption: boolean;
    results$: Subject<Property[]>;
    loading$: BehaviorSubject<boolean>;
    showManualOption$: BehaviorSubject<boolean>;
    properties$: ReplaySubject<Property[]>;
    constructor(_tomTom: TomtomService);
    ngOnChanges(changes: SimpleChanges): void;
    autocomplete({ query, country }: {
        query: string;
        country?: string;
    }): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AddressAutocompletionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AddressAutocompletionComponent, "ax-address-autocompletion", never, { "properties": { "alias": "properties"; "required": false; }; "propertyType": { "alias": "propertyType"; "required": false; }; "showManualOption": { "alias": "showManualOption"; "required": false; }; }, {}, never, never, false, never>;
}
