import { RealtimeClient } from '../realtime.client'; import { IgApiClient } from 'instagram-private-api'; export declare abstract class Mixin { abstract apply(client: RealtimeClient, ig: IgApiClient): void; abstract get name(): string; } export declare function applyMixins(mixins: Mixin[], client: RealtimeClient, ig: IgApiClient): void; export declare function hook any>(target: { [x in K]: Fn; }, key: K, hooks: { pre?: (...args: Parameters) => void | { returnValue: ReturnType; overrideReturn: boolean; }; post?: (returnValue: ReturnType, ...args: Parameters) => void | { returnValue: ReturnType; overrideReturn: boolean; }; }): void;