import { ConnectionStatus } from "../../../interfaces/models/Connection";
export interface UseConnectionManagerProps {
    userId: string;
}
export interface ConnectionData {
    connectionId: string | null;
    connectedAt?: string;
    requestedAt?: string;
    createdAt?: string;
    respondedAt?: string;
    type?: "sent" | "received";
}
export interface UseConnectionManagerValues {
    connectionStatus: ConnectionStatus;
    connectionId: string | null;
    connectionData: ConnectionData;
    isLoading: boolean;
    sendConnectionRequest: (message?: string) => Promise<void>;
    acceptConnectionRequest: () => Promise<void>;
    declineConnectionRequest: () => Promise<void>;
    withdrawConnectionRequest: () => Promise<void>;
    disconnectUser: () => Promise<void>;
    removeConnectionSmart: () => Promise<void>;
    refreshConnectionStatus: () => Promise<void>;
}
declare function useConnectionManager({ userId }: UseConnectionManagerProps): UseConnectionManagerValues;
export default useConnectionManager;
