import React from 'react';
import type { ChannelSettingsContextProps, ChannelSettingsState } from './types';
export declare const ChannelSettingsContext: React.Context<import("../../../utils/storeManager").Store<ChannelSettingsState>>;
declare const ChannelSettingsProvider: (props: ChannelSettingsContextProps) => React.JSX.Element;
declare const useChannelSettingsContext: () => {
    setChannel: (channel: import("@sendbird/chat/groupChannel").GroupChannel) => void;
    setLoading: (loading: boolean) => void;
    setInvalid: (invalid: boolean) => void;
    channel: import("@sendbird/chat/groupChannel").GroupChannel;
    loading: boolean;
    invalidChannel: boolean;
    forceUpdateUI(): void;
    setChannelUpdateId(uniqId: string): void;
    channelUrl: string;
    onCloseClick?(): void;
    onLeaveChannel?(): void;
    overrideInviteUser?(params: {
        users: string[];
        onClose: () => void;
        channel: import("@sendbird/chat/groupChannel").GroupChannel;
    }): void;
    onChannelModified?(channel: import("@sendbird/chat/groupChannel").GroupChannel): void;
    onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): import("@sendbird/chat/groupChannel").GroupChannelUpdateParams;
    queries?: import("./types").ChannelSettingsQueries;
    renderUserListItem?: (props: import("../../../ui/UserListItem").UserListItemProps) => React.ReactNode;
};
export { ChannelSettingsProvider, useChannelSettingsContext };
