import { Database, Tables } from 'koishi';
import { ISteamFamilyLibSubscribeDAO, SteamAccountFamilyRel, SteamFamilyLibSubscribe } from '../../interface';
export declare class SubscriptionDAO<T> implements ISteamFamilyLibSubscribeDAO<T> {
    db: Database<Tables>;
    constructor(db: Database<Tables>);
    getSubscriptionBySessionUId(uid: string): Promise<SteamFamilyLibSubscribe>;
    removeSubscriptionBySessionUId(uid: string): Promise<void>;
    removeSubscriptionBySteamId(steamId: string): Promise<void>;
    updateSubscription(sub: SteamFamilyLibSubscribe): Promise<void>;
    inactiveSubscription(subId: number): Promise<void>;
    addSubscription<T>(sub: Partial<SteamFamilyLibSubscribe>, channelInfo: T): Promise<void>;
    getSubscriptionByChannelInfoAndFamilyId<T>(familyId: string, channel: T): Promise<SteamFamilyLibSubscribe>;
    addFamilyAccountRel(items: SteamAccountFamilyRel[]): Promise<void>;
}
