import type { BoostAddedUpdate, BusinessMessageUpdate, ChannelPostUpdate, ChatSharedUpdate, DeleteChatPhotoUpdate, EditedBusinessMessageUpdate, EditedChannelPostUpdate, EditedMessageUpdate, Filter, ForumTopicClosedUpdate, ForumTopicCreatedUpdate, ForumTopicEditedUpdate, ForumTopicReopenedUpdate, GeneralForumTopicHiddenUpdate, GeneralForumTopicUnhiddenUpdate, GiveawayCompletedUpdate, GiveawayCreatedUpdate, GiveawayWinnersUpdate, GroupChatCreatedUpdate, InvoiceUpdate, LeftChatMemberUpdate, MessageAutoDeleteTimerChangedUpdate, MessageUpdate, MigrateFromChatIdUpdate, MigrateToChatIdUpdate, NewChatMembersUpdate, NewChatPhotoUpdate, NewChatTitleUpdate, PassportDataUpdate, PinnedMessageUpdate, ProximityAlertTriggeredUpdate, SuccessfulPaymentUpdate, UsersSharedUpdate, VideoChatEndedUpdate, VideoChatParticipantsInvitedUpdate, VideoChatScheduledUpdate, VideoChatStartedUpdate, WebAppDataUpdate, WriteAccessAllowedUpdate } from '@puregram/api'; type TextBearingUpdate = MessageUpdate | EditedMessageUpdate | ChannelPostUpdate | EditedChannelPostUpdate | BusinessMessageUpdate | EditedBusinessMessageUpdate | NewChatMembersUpdate | LeftChatMemberUpdate | NewChatTitleUpdate | NewChatPhotoUpdate | DeleteChatPhotoUpdate | GroupChatCreatedUpdate | PinnedMessageUpdate | InvoiceUpdate | SuccessfulPaymentUpdate | UsersSharedUpdate | ChatSharedUpdate | WebAppDataUpdate | VideoChatScheduledUpdate | VideoChatStartedUpdate | VideoChatEndedUpdate | VideoChatParticipantsInvitedUpdate | ForumTopicCreatedUpdate | ForumTopicEditedUpdate | ForumTopicClosedUpdate | ForumTopicReopenedUpdate | GeneralForumTopicHiddenUpdate | GeneralForumTopicUnhiddenUpdate | GiveawayCreatedUpdate | GiveawayCompletedUpdate | GiveawayWinnersUpdate | BoostAddedUpdate | MessageAutoDeleteTimerChangedUpdate | MigrateToChatIdUpdate | MigrateFromChatIdUpdate | PassportDataUpdate | ProximityAlertTriggeredUpdate | WriteAccessAllowedUpdate; type TextOrCaptionField = 'text' | 'caption' | 'auto'; interface FieldOptions { /** which field to scan — `'auto'` tries text then caption (default) */ field?: TextOrCaptionField; } /** * match against `update.text` — string form is exact equality, regex form runs * the pattern against the text and attaches the result as `update.match` */ export declare function text(value: string): Filter; export declare function text(pattern: RegExp): Filter; /** * match against `update.caption` — string form is exact equality, regex form * runs the pattern against the caption and attaches the result as `update.match` */ export declare function caption(value: string): Filter; export declare function caption(pattern: RegExp): Filter; /** * match a slash-command on `update.text`. string form parses `/name`, * `/name@bot`, `/name args`, or a `/name`-prefixed newline; regex form runs * directly against the text. attaches the regex match as `update.match` * * the `@bot` mention check is intentionally not performed here — that lives * in `tg.command(...)` so module-level composition (`f.command('start')`) * remains mention-agnostic */ export declare function command(name: string): Filter; export declare function command(pattern: RegExp): Filter; /** * match a `/start` command, optionally constrained on the deeplink payload that * telegram passes via `t.me/?start=` * * - no-arg form — matches any `/start`, attaches `update.match` with a * `payload` named group (undefined when no deeplink payload was sent) * - string form — matches when the payload is exactly the supplied value * - regex form — matches when the payload matches the pattern; the result is * attached as `update.match` and the named groups from the pattern come * through unchanged */ export declare function start(): Filter; export declare function start(payload: string): Filter; export declare function start(pattern: RegExp): Filter; /** * match a regex against `update.text` falling back to `update.caption`. attaches * the resulting `RegExpMatchArray` as `update.match` */ export declare function regex(pattern: RegExp): Filter; /** * match when `update.text` (or `update.caption`, depending on `field`) starts * with the supplied prefix. defaults to `auto` — text first, falling back to * caption when text is absent */ export declare function startsWith(prefix: string, opts?: FieldOptions): Filter; /** * match when `update.text` (or `update.caption`, depending on `field`) ends * with the supplied suffix. defaults to `auto` — text first, falling back to * caption when text is absent */ export declare function endsWith(suffix: string, opts?: FieldOptions): Filter; /** * match when `update.text` (or `update.caption`, depending on `field`) contains * the supplied substring. defaults to `auto` — text first, falling back to * caption when text is absent */ export declare function contains(substring: string, opts?: FieldOptions): Filter; export {}; //# sourceMappingURL=content.d.ts.map