type TypingChannel = {
    url?: string;
    startTyping?: () => void;
    endTyping?: () => void;
} | null | undefined;
/**
 * Tracks typing lifecycle on a Sendbird channel and ensures `endTyping` is
 * sent when the channel changes, the `active` flag toggles to false, or the
 * component unmounts. Returns memoized `startTyping`/`stopTyping` helpers
 * that the caller wires to input events.
 *
 * @param channel - the channel currently being typed in
 * @param active  - when set to false, the cleanup runs and clears typing
 *                  state. Useful for edit-mode wrappers that pass `showEdit`
 *                  so closing the edit panel emits `endTyping`.
 */
export declare function useTypingLifecycle(channel: TypingChannel, active?: boolean): {
    startTyping: () => void;
    stopTyping: () => void;
};
export {};
