import { DiscussionType, type IActivity, type IReaction } from '../../shared';
import { type IMention } from '../../../form';
export declare const functions: {
    activities: {
        read: () => Promise<IActivity>;
        edit: () => Promise<IActivity>;
        like: () => Promise<IReaction>;
        remove: () => Promise<void>;
        unlike: () => Promise<IReaction>;
        pin: () => Promise<IReaction>;
        unpin: () => Promise<IReaction>;
    };
    reactions: {
        create: () => Promise<IReaction>;
        edit: () => Promise<IReaction>;
        like: () => Promise<IReaction>;
        list: () => Promise<{
            results: IReaction[];
            next: string;
            duration: string;
        }>;
        remove: () => Promise<void>;
        unlike: () => Promise<IReaction>;
    };
    form: {
        listMembers: () => Promise<IMention[]>;
        clickMentionFallback: () => Promise<unknown>;
    };
    likes: {
        list: () => Promise<{
            results: never[];
            next: string;
            duration: string;
        }>;
    };
    join: () => Promise<void>;
    leave: () => Promise<void>;
};
export declare const args: {
    basePath: string;
    parentId: string;
    activityId: string;
    isMember: boolean;
    isOwner: boolean;
    profile: {
        hooks: {
            useMaps: () => {
                buildLocation: (input: string) => Promise<{
                    id: string;
                    en: string;
                    code: string;
                }>;
                isValidPlace: (input: string) => boolean;
                predictPlaces: (input: string) => Promise<never[]>;
            };
        };
        functions: {
            uploadImage: () => Promise<void>;
            onSuccess: () => Promise<void>;
            onFailure: () => void;
        };
    };
    functions: {
        activities: {
            read: () => Promise<IActivity>;
            edit: () => Promise<IActivity>;
            like: () => Promise<IReaction>;
            remove: () => Promise<void>;
            unlike: () => Promise<IReaction>;
            pin: () => Promise<IReaction>;
            unpin: () => Promise<IReaction>;
        };
        reactions: {
            create: () => Promise<IReaction>;
            edit: () => Promise<IReaction>;
            like: () => Promise<IReaction>;
            list: () => Promise<{
                results: IReaction[];
                next: string;
                duration: string;
            }>;
            remove: () => Promise<void>;
            unlike: () => Promise<IReaction>;
        };
        form: {
            listMembers: () => Promise<IMention[]>;
            clickMentionFallback: () => Promise<unknown>;
        };
        likes: {
            list: () => Promise<{
                results: never[];
                next: string;
                duration: string;
            }>;
        };
        join: () => Promise<void>;
        leave: () => Promise<void>;
    };
    categories: {
        name: string;
        slug: string;
    }[];
};
export declare const argsForCourseDiscussion: {
    basePath: string;
    parentId: string;
    activityId: string;
    isMember: boolean;
    isOwner: boolean;
    profile: {
        hooks: {
            useMaps: () => {
                buildLocation: (input: string) => Promise<{
                    id: string;
                    en: string;
                    code: string;
                }>;
                isValidPlace: (input: string) => boolean;
                predictPlaces: (input: string) => Promise<never[]>;
            };
        };
        functions: {
            uploadImage: () => Promise<void>;
            onSuccess: () => Promise<void>;
            onFailure: () => void;
        };
    };
    type: DiscussionType;
    functions: {
        activities: {
            read: () => Promise<IActivity>;
        };
        reactions: {
            list: () => Promise<{
                results: IReaction[];
                next: string;
                duration: string;
            }>;
        };
        form: {
            listMembers: () => Promise<IMention[]>;
            clickMentionFallback: () => Promise<unknown>;
        };
        likes: {
            list: () => Promise<{
                results: never[];
                next: string;
                duration: string;
            }>;
        };
        join: () => Promise<void>;
        leave: () => Promise<void>;
    };
};
