import { ApillonModule } from '../../lib/apillon';
import { IApillonList, IApillonPagination } from '../../types/apillon';
import { ICreateHub, ICreateChannel, IChannelFilters } from '../../types/social';
import { SocialChannel } from './social-channel';
import { SocialHub } from './social-hub';
export declare class Social extends ApillonModule {
    private HUBS_API_PREFIX;
    private CHANNELS_API_PREFIX;
    /**
     * Lists all hubs with optional filters.
     * @param {IApillonPagination} params Optional filters for listing hubs.
     * @returns A list of Hub instances.
     */
    listHubs(params?: IApillonPagination): Promise<IApillonList<SocialHub>>;
    /**
     * Lists all channels with optional filters.
     * @param {IChannelFilters} params Optional filters for listing channels.
     * @returns A list of Channel instances.
     */
    listChannels(params?: IChannelFilters): Promise<IApillonList<SocialChannel>>;
    /**
     * Creates a new hub.
     * @param {ICreateHub} hubData Data for creating the hub.
     * @returns The created Hub instance.
     */
    createHub(hubData: ICreateHub): Promise<SocialHub>;
    /**
     * Creates a new channel.
     * @param {ICreateChannel} channelData Data for creating the channel.
     * @returns The created Channel instance.
     */
    createChannel(channelData: ICreateChannel): Promise<SocialChannel>;
    /**
     * @param uuid Unique hub identifier.
     * @returns An empty instance of SocialHub.
     */
    hub(uuid: string): SocialHub;
    /**
     * @param uuid Unique channel identifier.
     * @returns An empty instance of SocialChannel.
     */
    channel(uuid: string): SocialChannel;
}
//# sourceMappingURL=social.d.ts.map