import type OpenFin from '@openfin/core';
import { withDisconnectListener } from '../../../../common/src/utils/channels';
import { SearchAPIClientChannelClient } from '../../../../common/src/api/protocol/shapes/search';
import type { HomeClientApiDataRequest, HomeClientApiDispatchRequest, HomeClientApiSearchCloseRequest, HomeInternalDataResponse, HomeInternalErrorResponse, InternalSearchListenerRequest } from '../../../../common/src/api/shapes/home';
import { HomeVpwProvidersMap } from './providers-map';
import type { CLIProvider, HomeProvider } from '../../../../client-api/src/shapes';
export type HomeVpwChannelHandlersContext = {
    providers: HomeVpwProvidersMap<HomeProvider | CLIProvider>;
    searchRequests: Map<string, InternalSearchListenerRequest>;
    getSearchClientAPIChannelClient: () => Promise<withDisconnectListener<SearchAPIClientChannelClient>>;
};
export type HomeVpwChannelHandlers = {
    handleDataRequest: (req: HomeClientApiDataRequest) => Promise<HomeInternalDataResponse | HomeInternalErrorResponse>;
    handleResultDispatch: (req: HomeClientApiDispatchRequest, identity: OpenFin.Identity) => Promise<void>;
    handleSearchRequestClose: (req: HomeClientApiSearchCloseRequest) => void;
    handleChannelDisconnection: () => Promise<void>;
};
export declare const createHomeVpwChannelHandlers: (ctx: HomeVpwChannelHandlersContext) => HomeVpwChannelHandlers;
type HomeVpwSearchChannelClient = withDisconnectListener<SearchAPIClientChannelClient> & {
    homeVpwChannelActionsRegistered?: boolean;
};
export declare const registerHomeVpwChannelClientActions: (channel: HomeVpwSearchChannelClient, handlers: HomeVpwChannelHandlers) => void;
export {};
