import { Realtime } from "./types.js";
import { channel } from "./channel.js";

//#region src/components/realtime/index.d.ts
declare const realtime: {
  readonly channel: <const TName extends string | ((...args: never[]) => string), const TTopics extends Realtime.TopicsConfig>(options: {
    name: TName;
    topics: TTopics;
  }) => TName extends string ? {
    name: TName;
    topics: TTopics;
  } & Realtime.TopicAccessors<TName, TTopics> & {
    $infer: { [K in keyof TTopics]: Realtime.InferTopicData<TTopics[K]> };
  } : TName extends ((...args: infer TArgs) => string) ? ((...args: TArgs) => Realtime.ChannelInstance<string, TTopics>) & {
    topics: TTopics;
    $params: TArgs[0];
  } & {
    $infer: { [K_1 in keyof TTopics]: Realtime.InferTopicData<TTopics[K_1]> };
    $params: TArgs[0];
  } : never;
};
//#endregion
export { realtime };
//# sourceMappingURL=index.d.ts.map