import { IActivity, Activity } from './activity.js';
import '../models/channel-id.js';
import '../models/account.js';
import '../models/membership-source.js';
import '../models/membership-source-types.js';
import '../models/membership-types.js';
import '../models/role.js';
import '../models/conversation/conversation-reference.js';
import '../models/entity/index.js';
import '../models/entity/ai-message-entity.js';
import '../models/entity/message-entity.js';
import '../models/entity/citation-entity.js';
import '../models/entity/client-info-entity.js';
import '../models/entity/mention-entity.js';
import '../models/entity/product-info-entity.js';
import '../models/entity/sensitive-usage-entity.js';
import '../models/entity/stream-info-entity.js';
import '../models/channel-data/index.js';
import '../models/meeting/meeting-info.js';
import '../models/meeting/meeting-details.js';
import '../models/channel-data/channel-info.js';
import '../models/channel-data/feedback-loop.js';
import '../models/channel-data/notification-info.js';
import '../models/channel-data/on-behalf-of.js';
import '../models/channel-data/settings.js';
import '../models/channel-data/team-info.js';
import '../models/channel-data/tenant-info.js';

interface ITypingActivity extends IActivity<'typing'> {
    /**
     * The text content of the message.
     */
    text?: string;
}
declare class TypingActivity extends Activity<'typing'> implements ITypingActivity {
    /**
     * The text content of the message.
     */
    text?: string;
    constructor(value?: Omit<Partial<ITypingActivity>, 'type'>);
    /**
     * initialize from interface
     */
    static from(activity: ITypingActivity): TypingActivity;
    /**
     * convert to interface
     */
    toInterface(): ITypingActivity;
    /**
     * copy to a new instance
     */
    clone(options?: Omit<Partial<ITypingActivity>, 'type'>): TypingActivity;
    /**
     * The text content of the message.
     */
    withText(value: string): this;
    /**
     * Append text
     */
    addText(text: string): this;
    /**
     * Add stream informative update
     * @param id the stream id
     * @param sequence the sequence number (index) of the chunk
     */
    addStreamUpdate(sequence?: number): this;
}

export { type ITypingActivity, TypingActivity };
