import { LitElement } from 'lit-element';
import EtoolsDialog from '@unicef-polymer/etools-dialog/etools-dialog';
import { LocationObject } from '../../common/models/globals.types';
declare class GroupedLocations {
    adminLevelLocation: LocationObject | null;
    subordinateLocations: LocationObject[];
}
declare const GroupedLocationsDialog_base: (new (...args: any[]) => {
    _storeUnsubscribe: import("redux").Unsubscribe;
    connectedCallback(): void;
    disconnectedCallback(): void;
    stateChanged(_state: unknown): void;
    readonly isConnected: boolean;
}) & typeof LitElement;
/**
 * @customElement
 */
export declare class GroupedLocationsDialog extends GroupedLocationsDialog_base {
    static get styles(): import("lit-element").CSSResult[];
    render(): import("lit-element").TemplateResult;
    private _interventionLocIds;
    _adminLevels: {
        id: number;
        name: string;
        admin_level: any;
    }[];
    set adminLevels(locationTypes: {
        id: number;
        name: string;
        admin_level: any;
    }[]);
    get adminLevels(): {
        id: number;
        name: string;
        admin_level: any;
    }[];
    adminLevel: string | null;
    allLocations: LocationObject[];
    interventionLocations: LocationObject[];
    get interventionLocationIds(): string[];
    set interventionLocationIds(locationIds: string[]);
    groupedLocations: GroupedLocations[];
    message: string;
    dialogOpened: boolean;
    toastEventSource: LitElement;
    groupedLocDialog: EtoolsDialog;
    stateChanged(state: any): void;
    connectedCallback(): void;
    _renderGrouping(groupedLocations: GroupedLocations[], interventionLocations: LocationObject[]): import("lit-element").TemplateResult;
    _renderMessage(message: string): import("lit-element").TemplateResult;
    openDialog(): void;
    _removeCountry(locationTypes: any): any;
    interventionLocationIdsChanged(locationIds: string[]): void;
    _setInterventionLocationsDetails(locationIds: any[]): void;
    adminLevelChanged(event: CustomEvent): void;
    _findInGroupedLocations(groupedLocations: GroupedLocations[], adminLevelLocation: any): GroupedLocations | null;
    _findAdminLevelParent(location: LocationObject, adminLevel: string): LocationObject | null;
    closeDialog(): void;
}
export {};
