/**
 * #realtime_subscription.ts
 *
 * @packageDocumentation
 */
import _m0 from "protobufjs/minimal.js";
import { RealtimeEvent } from "../../../events/v1alpha/realtime.js";
export declare enum RealtimeSubscriptionStatus {
    REALTIME_SUBSCRIBED = 0,
    REALTIME_UNSUBSCRIBED = 1,
    UNRECOGNIZED = -1
}
export declare function realtimeSubscriptionStatusFromJSON(object: any): RealtimeSubscriptionStatus;
export declare function realtimeSubscriptionStatusToJSON(object: RealtimeSubscriptionStatus): number;
/** Instruct the client to subscribe to realtime events */
export interface RealtimeSubscriptionsEffect {
    /** List of IDs the client should be subscribed to */
    subscriptionIds: string[];
}
export interface RealtimeSubscriptionEvent {
    /** Event data from the subscription */
    event?: RealtimeEvent | undefined;
    /** If set, this event signals a change in the subscription status */
    status?: RealtimeSubscriptionStatus | undefined;
}
export declare const RealtimeSubscriptionsEffect: {
    $type: "devvit.ui.effect_types.v1alpha.RealtimeSubscriptionsEffect";
    encode(message: RealtimeSubscriptionsEffect, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RealtimeSubscriptionsEffect;
    fromJSON(object: any): RealtimeSubscriptionsEffect;
    toJSON(message: RealtimeSubscriptionsEffect): unknown;
    create(base?: DeepPartial<RealtimeSubscriptionsEffect>): RealtimeSubscriptionsEffect;
    fromPartial(object: DeepPartial<RealtimeSubscriptionsEffect>): RealtimeSubscriptionsEffect;
};
export declare const RealtimeSubscriptionEvent: {
    $type: "devvit.ui.effect_types.v1alpha.RealtimeSubscriptionEvent";
    encode(message: RealtimeSubscriptionEvent, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RealtimeSubscriptionEvent;
    fromJSON(object: any): RealtimeSubscriptionEvent;
    toJSON(message: RealtimeSubscriptionEvent): unknown;
    create(base?: DeepPartial<RealtimeSubscriptionEvent>): RealtimeSubscriptionEvent;
    fromPartial(object: DeepPartial<RealtimeSubscriptionEvent>): RealtimeSubscriptionEvent;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
export {};
//# sourceMappingURL=realtime_subscription.d.ts.map