import _m0 from "protobufjs/minimal"; export declare const protobufPackage = "channel"; export declare enum ChannelStatus { Active = 0, Archived = 1, UNRECOGNIZED = -1 } export declare function channelStatusFromJSON(object: any): ChannelStatus; export declare function channelStatusToJSON(object: ChannelStatus): string; export declare enum CreateChannelErrors { Unauthorized = 0, IsAlreadyExist = 1, UNRECOGNIZED = -1 } export declare function createChannelErrorsFromJSON(object: any): CreateChannelErrors; export declare function createChannelErrorsToJSON(object: CreateChannelErrors): string; export interface Channel { identifier: string; createdAt?: Date; maxParticipants: number; status: ChannelStatus; customData?: CustomData | undefined; } export interface CreateChannelResponse { errors: CreateChannelErrors[]; channel?: Channel | undefined; } export interface CreateChannelReq { identifier: string; maxParticipants: number; customData?: CustomData | undefined; } export interface CustomData { data: { [key: string]: string; }; } export interface CustomData_DataEntry { key: string; value: string; } export declare const Channel: { encode(message: Channel, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Channel; fromJSON(object: any): Channel; toJSON(message: Channel): unknown; fromPartial]: never; }) | undefined; } & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): Channel; }; export declare const CreateChannelResponse: { encode(message: CreateChannelResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateChannelResponse; fromJSON(object: any): CreateChannelResponse; toJSON(message: CreateChannelResponse): unknown; fromPartial]: never; }) | undefined; channel?: ({ identifier?: string | undefined; createdAt?: Date | undefined; maxParticipants?: number | undefined; status?: ChannelStatus | undefined; customData?: { data?: { [x: string]: string | undefined; } | undefined; } | undefined; } & { identifier?: string | undefined; createdAt?: Date | undefined; maxParticipants?: number | undefined; status?: ChannelStatus | undefined; customData?: ({ data?: { [x: string]: string | undefined; } | undefined; } & { data?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }) | undefined; } & { [K_3 in Exclude]: never; }) | undefined; } & { [K_4 in Exclude]: never; }>(object: I): CreateChannelResponse; }; export declare const CreateChannelReq: { encode(message: CreateChannelReq, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateChannelReq; fromJSON(object: any): CreateChannelReq; toJSON(message: CreateChannelReq): unknown; fromPartial]: never; }) | undefined; } & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): CreateChannelReq; }; export declare const CustomData: { encode(message: CustomData, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CustomData; fromJSON(object: any): CustomData; toJSON(message: CustomData): unknown; fromPartial]: never; }) | undefined; } & { [K_1 in Exclude]: never; }>(object: I): CustomData; }; export declare const CustomData_DataEntry: { encode(message: CustomData_DataEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CustomData_DataEntry; fromJSON(object: any): CustomData_DataEntry; toJSON(message: CustomData_DataEntry): unknown; fromPartial]: never; }>(object: I): CustomData_DataEntry; }; export interface ChannelService { CreateChannel(request: CreateChannelReq): Promise; } type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude>]: never; }; export {};