import type { RemoteControlCommand, RemoteControlCommandResult, SequencedDesktopRemoteControlEvent } from '../desktop-runtime.js';
import type { BrokerDesktopSummary } from './types.js';
export type PhoneRemoteControlCommand = RemoteControlCommand | {
    type: 'list_desktops';
} | {
    type: 'select_desktop';
    desktopId: string;
};
export type PhoneRemoteControlResult = RemoteControlCommandResult | {
    kind: 'desktops';
    desktops: BrokerDesktopSummary[];
} | {
    kind: 'no_desktops';
} | {
    kind: 'desktop_selected';
    desktop: BrokerDesktopSummary;
} | {
    kind: 'desktop_missing';
    desktopId: string;
};
export interface PhoneRemoteControlSurface {
    handleCommand(command: PhoneRemoteControlCommand): Promise<PhoneRemoteControlResult>;
    subscribe(listener: (event: SequencedDesktopRemoteControlEvent) => void): () => void;
}
//# sourceMappingURL=surface.d.ts.map