import { PropertyValues, TemplateResult } from "lit";
import { AppStateKeyed, Page, PageProvider } from "@openremote/or-app";
import { Store } from "@reduxjs/toolkit";
import "@openremote/or-services";
import { ExternalService, ExternalServiceEvent } from "@openremote/model";
export declare function pageServicesProvider(store: Store<AppStateKeyed>): PageProvider<AppStateKeyed>;
export declare class PageServices extends Page<AppStateKeyed> {
    static get styles(): import("lit").CSSResult[];
    get name(): string;
    protected serviceId: string | null;
    protected realmName: string;
    protected services: ExternalService[];
    protected selectedService: ExternalService | null;
    protected _loading: boolean;
    protected _eventSubscriptionId?: string;
    constructor(store: Store<AppStateKeyed>);
    connectedCallback(): void;
    disconnectedCallback(): void;
    protected _subscribeEvents(): Promise<void>;
    protected _unsubscribeEvents(): void;
    protected _onEvent(event: ExternalServiceEvent): void;
    protected _onServiceRegistered(event: ExternalServiceEvent): void;
    protected _onServiceUpdated(event: ExternalServiceEvent): void;
    protected _onServiceDeregistered(event: ExternalServiceEvent): void;
    protected _eventIsForSelectedServiceInstance(event: ExternalServiceEvent): boolean;
    protected _eventIsForSelectedServiceId(event: ExternalServiceEvent): boolean;
    protected _loadData(silent?: boolean): Promise<void>;
    protected _refreshIframe(): void;
    stateChanged(state: AppStateKeyed): void;
    protected realmSelector: (state: AppStateKeyed) => string;
    protected getRealmState: ((state: AppStateKeyed) => void) & import("reselect").OutputSelectorFields<(args_0: string) => void, {
        clearCache: () => void;
    }> & {
        clearCache: () => void;
    };
    protected _onServiceSelected(e: CustomEvent): void;
    protected willUpdate(changedProperties: PropertyValues): void;
    protected _updateRoute(): void;
    protected _updateServiceSelection(): void;
    protected render(): TemplateResult;
}
