import { StreamChat } from './client'; import { DefaultGenerics, ExtendableGenerics, QuerySegmentTargetsFilter, SegmentData, SegmentResponse, SortParam } from './types'; declare type SegmentType = 'user' | 'channel'; declare type SegmentUpdatableFields = { description?: string; filter?: {}; name?: string; }; export declare class Segment { type: SegmentType; id?: string | null; client: StreamChat; data?: SegmentData | SegmentResponse; constructor(client: StreamChat, type: SegmentType, id: string | null, data?: SegmentData); create(): Promise<{ segment: SegmentResponse; }>; verifySegmentId(): void; get(): Promise<{ segment: SegmentResponse; } & import("./types").APIResponse>; update(data: Partial): Promise<{ segment: SegmentResponse; }>; addTargets(targets: string[]): Promise; removeTargets(targets: string[]): Promise; delete(): Promise; targetExists(targetId: string): Promise; queryTargets(filter?: QuerySegmentTargetsFilter | null, sort?: SortParam[] | null | [], options?: {}): Promise<{ targets: import("./types").SegmentTargetsResponse[]; next?: string | undefined; } & import("./types").APIResponse>; } export {}; //# sourceMappingURL=segment.d.ts.map