import { type Ref, type MaybeRef, type ComputedRef } from 'vue';
interface Dialog {
    channelId?: string;
    [key: string]: unknown;
}
interface Channel {
    channelId: string;
    [key: string]: unknown;
}
interface UseCommunicationDialogSyncOptions {
    /** Текущее выбранное значение типа канала */
    selectedChannelType: Ref<string | null>;
    /** Текущий выбранный канал */
    selectedChannel: Ref<Channel | Record<string, unknown>>;
    /** Список доступных каналов */
    channels: Ref<Channel[]>;
    /** Текущий выбранный диалог */
    selectedDialog: MaybeRef<Dialog | null | undefined>;
    /** Функция проверки пустоты канала */
    isChannelEmpty: (channelId: string) => boolean;
    /** Флаг нового диалога */
    isNewDialog: ComputedRef<boolean>;
    /** Функция показа tooltip для нового диалога */
    showDefaultChannelTooltipWithTimer: () => void;
    /** Функция очистки tooltip */
    clearDefaultChannelTooltip: () => void;
}
/**
 * Синхронизирует выбранный канал панели с внешним диалогом.
 */
export declare function useCommunicationDialogSync({ selectedChannelType, selectedChannel, channels, selectedDialog, isChannelEmpty, isNewDialog, showDefaultChannelTooltipWithTimer, clearDefaultChannelTooltip, }: UseCommunicationDialogSyncOptions): {
    updateSelectedChannelFromDialog: (dialog: Dialog | null | undefined) => void;
};
export {};
