fox-block-builder
Version:
Maintainable code for loop slack-block-kit-like modal builder
732 lines (731 loc) • 31.6 kB
TypeScript
import { Builder } from '../lib';
import type { AnalyticsParams, OffsetParams, OneSSelectType, SectionElementBuilder, Settable, OnSelectParams, TImageSelectVariant, OffsetRangeParams, DirectoryParams, DatePickerPickerParams, InitialUserParams, ElementTeamParams, FetchValuesParams, MaxDateRangeParams } from '../types';
import type { OptionBuilder } from '../../bits';
export declare abstract class AccessibilityLabel extends Builder {
/**
* @description A label for longer descriptive text about a button element. This label will be read out by screen readers instead of the button text object.
*
* **Slack Validation Rules and Tips:**
* * Maximum of 75 characters.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
accessibilityLabel(label: string): this;
}
export declare abstract class Accessory extends Builder {
/**
* @description Adds an element to the section block of your view or message.
*
* **Slack Validation Rules and Tips:**
* * Maximum of 1 element.
* * Can be any one of the elements.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
accessory(element: Settable<SectionElementBuilder>): this;
}
export declare abstract class ActionId extends Builder {
/**
* @description Sets a string to be an identifier for the action taken by the user. It is sent back to your app in the interaction payload when the element is interacted or when the view is submitted.
*
* **Slack Validation Rules and Tips:**
* * **Required** ⚠
* * Each element in a view or message must have its own unique action ID.
* * Maximum of 255 characters.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
actionId(actionId: Settable<string>): this;
}
export declare abstract class AltText extends Builder {
/**
* @description This a plain-text summary of the image element or block.
*
* **Slack Validation Rules and Tips:**
* * **Required** ⚠
* * Should not contain any markup.
* * Maximum of 2000 characters.
*
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
altText(altText: Settable<string>): this;
}
export declare abstract class AuthorName extends Builder {
/**
* @description This a plain-text representation of the author of a video.
*
* **Slack Validation Rules and Tips:**
* * Maximum of 50 characters.
*
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
authorName(authorName: Settable<string>): this;
}
export declare abstract class BlockId extends Builder {
/**
* @description Sets a string to be an identifier for any given block in a view or message. This is sent back to your app in interaction payloads and view submissions for your app to process.
*
* **Slack Validation Rules and Tips:**
* * Maximum of 255 characters.
* * Each block in a view or message must have its own unique action ID.
* * If the contents of a block is updated, the block ID should also be updated.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
blockId(blockId: Settable<string>): this;
}
export declare abstract class CallbackId extends Builder {
/**
* @description Sets a string for your view that is sent back to your server in all of the interaction payloads and view submissions. Used to identify the view from which the interaction payload is generated.
*
* **Slack Validation Rules and Tips:**
* * Maximum of 255 characters.
* * It is recommended that sensitive data not be stored in the callback ID. Instead, use the `privateMetaData()` method.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
callbackId(callbackId: Settable<string>): this;
}
export declare abstract class Channel extends Builder {
/**
* @description Sets the Slack channel ID to which the message will be sent via the API.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
channel(channel: Settable<string>): this;
}
export declare abstract class Close extends Builder {
/**
* @description Sets the text displayed on the button that closes the view.
*
* **Slack Validation Rules and Tips:**
* * Maximum of 24 characters.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
close(closeButtonText: Settable<string>): this;
}
export declare abstract class Color extends Builder {
/**
* @description Sets the color for the blockquote border to the left of the attachment.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
color(color: Settable<string>): this;
}
export declare abstract class Confirm<T> extends Builder {
/**
* @description For confirmation dialogs, sets the text of the button that confirms the action to which the confirmation dialog has been added. For elements, adds a confirmation dialog that is displayed when the user interacts with the element to confirm the selection or action.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
confirm(value: Settable<T>): this;
}
export declare abstract class Deny extends Builder {
/**
* @description Sets the text of the button that is meant to cancel the action or which the confirmation dialog was called.
*
* **Slack Validation Rules and Tips:**
* * **Required** ⚠
* * Maximum of 30 characters.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
deny(text: Settable<string>): this;
}
export declare abstract class Description extends Builder {
/**
* @description Sets the descriptive text displayed below the text field of the option or for a video, if creating a Video block.
*
* **Slack Validation Rules and Tips:**
* * Maximum of 75 characters.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
description(description: Settable<string>): this;
}
export declare abstract class Element<T> extends Builder {
/**
* @description Adds a user input element to the input block for gathering information from the user.
*
* **Slack Validation Rules and Tips:**
* * **Required** ⚠
* * Maximum of 1 element.
* * Supports text inputs, select and multi-select menus, as well as date pickers and checkbox inputs.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
element(element: Settable<T>): this;
}
export declare abstract class ExternalId extends Builder {
/**
* @description Sets a custom identifier for a view or file that must be unique for all views on a per-team basis.
*
* **Slack Validation Rules and Tips:**
* * Maximum of 255 characters.
* * When used, an external ID must be unique to a certain view.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
externalId(externalId: Settable<string>): this;
}
export declare abstract class Fallback extends Builder {
/**
* @description Sets the plain text summary of the attachment used in clients that can't display formatted text (eg. IRC, mobile notifications).
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
fallback(text: Settable<string>): this;
}
export declare abstract class Hint extends Builder {
/**
* @description Adds a hint below the input block to provide users with more context or instructions for using the input.
*
* **Slack Validation Rules and Tips:**
* * Maximum of 2000 characters.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
hint(hint: Settable<string>): this;
}
export declare abstract class ImageUrl extends Builder {
/**
* @description Sets the source URL for the image block or element that you wish to include in your view or message.
*
* **Slack Validation Rules and Tips:**
* * **Required** ⚠
* * Maximum of 2000 characters.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
imageUrl(url: Settable<string>): this;
}
export declare abstract class InitialChannel extends Builder {
/**
* @description Pre-populates the menu with a selected, default channel.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
initialChannel(channelId: Settable<string>): this;
}
export declare abstract class InitialConversation extends Builder {
/**
* @description Pre-populates the menu with a selected, default conversation.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
initialConversation(conversationId: Settable<string>): this;
}
export declare abstract class InitialOffset extends Builder {
/**
* @description Pre-populates the date picker with a selected, default date.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
initialOffset(params: Settable<OffsetParams>): this;
}
export declare abstract class InitialDateTime extends Builder {
/**
* @description Pre-populates the date time picker with a selected, default date and time.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
initialDateTime(params: Settable<OffsetParams>): this;
}
export declare abstract class InitialOption extends Builder {
/**
* @description Pre-populates the menu or date picker with a selected, default option.
*
* **Slack Validation Rules and Tips:**
* * Must be an exact match for one of the options in the menu.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
initialOption(option: Settable<OptionBuilder>): this;
}
export declare abstract class InitialTime extends Builder {
/**
* @description Pre-populates the time picker with a selected, default time.
*
* **Slack Validation Rules and Tips:**
* * Set in HH:mm format, where HH is 24-hour hour format and mm is minutes with a leading zero.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
initialTime(time: Settable<string>): this;
}
export declare abstract class InitialUser extends Builder {
/**
* @description Pre-populates the menu with a selected, default user.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
initialUser(userId: Settable<InitialUserParams>): this;
}
export declare abstract class InitialValue<T extends string | number> extends Builder {
/**
* @description Pre-populates the input with a default value.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
initialValue(value: Settable<T>): this;
}
export declare abstract class IsDecimalAllowed extends Builder {
/**
* @description Dicates whether a decimal is allowed for the value entered into the number input.
*
* **Slack Validation Rules and Tips:**
* * **Required** ⚠
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
isDecimalAllowed(value: Settable<boolean>): this;
}
export declare abstract class Label extends Builder {
/**
* @description For input blocks, this sets the text displayed in the label for the input. For an option group, it defines the text displayed as a title for the group.
*
* **Slack Validation Rules and Tips:**
* * **Required** ⚠
* * For input blocks, maximum of 2000 characters.
* * For option groups, maximum of 75 characters.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
label(label: Settable<string>): this;
}
export declare abstract class MaxLength extends Builder {
/**
* @description Sets a maximum character count allowed in the given text input.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
maxLength(length: Settable<number>): this;
}
export declare abstract class MaxSelectedItems extends Builder {
/**
* @description Sets a limit to how many items the user can select in the multi-select menu.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
maxSelectedItems(quantity: Settable<number>): this;
}
export declare abstract class MaxValue extends Builder {
/**
* @description Sets a maximum value for the number input.
*
* **Slack Validation Rules and Tips:**
* * Cannot be less than the minimum value.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
maxValue(value: Settable<number>): this;
}
export declare abstract class MinQueryLength extends Builder {
/**
* @description Sets a minimum number of characters required before Slack queries your app for a list of options.
*
* **Slack Validation Rules and Tips:**
* * If not set, the request will be sent on every character entered or removed.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
minQueryLength(length: Settable<number>): this;
}
export declare abstract class MinLength extends Builder {
/**
* @description Sets a minimum character count required for the given text input before the user can submit the view.
*
* **Slack Validation Rules and Tips:**
* * Maximum 3000 characters.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
minLength(length: Settable<number>): this;
}
export declare abstract class MinValue extends Builder {
/**
* @description Sets a minimum value for the number input.
*
* **Slack Validation Rules and Tips:**
* * Cannot be less than the maximum value.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
minValue(value: Settable<number>): this;
}
export declare abstract class Placeholder extends Builder {
/**
* @description Defines the text displayed as a placeholder in the empty input element.
*
* **Slack Validation Rules and Tips:**
* * Maximum of 150 characters.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
placeholder(placeholder: Settable<string>): this;
}
export declare abstract class PostAt extends Builder {
/**
* @description Sets a time in the future for the message to be sent to the channel or user, as a scheduled message.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
postAt(timestamp: Settable<string>): this;
}
export declare abstract class PrivateMetaData extends Builder {
/**
* @description Defines a string sent back to your server with view and interaction payloads.
*
* **Slack Validation Rules and Tips:**
* * Maximum 3000 characters.
* * Typically used to persist data or store context between views.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
privateMetaData(privateMetaData: Settable<string>): this;
}
export declare abstract class ProviderIconUrl extends Builder {
/**
* @description Icon for the video provider - ex. YouTube or Vimeo icon.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
providerIconUrl(providerIconUrl: Settable<string>): this;
}
export declare abstract class ProviderName extends Builder {
/**
* @description The originating application or domain of the video ex. YouTube or Vimeo.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
providerName(providerName: Settable<string>): this;
}
export declare abstract class Submit extends Builder {
/**
* @description Sets the text displayed on the button that submits the view.
*
* **Slack Validation Rules and Tips:**
* * Maximum of 24 characters.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
submit(text: Settable<string>): this;
}
export declare abstract class Text extends Builder {
/**
* @description Sets the text displayed for buttons, headers, confirmation dialogs, sections, context blocks, and options.
*
* **Slack Validation Rules and Tips:**
* * **Required for buttons, headers, confirmation dialogs, and option** ⚠
* * **Required for sections if fields are not defined** ⚠
* * For buttons and options, maximum of 75 characters.
* * For confirmation dialogs, maximum of 75 characters.
* * For section and header blocks, maximum of 3000 characters.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
text(text: Settable<string>): this;
}
export declare abstract class ThreadTs extends Builder {
/**
* @description Instructs the Slack API to send the message to the thread of the message associated with the timestamp.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
threadTs(threadTs: Settable<string>): this;
}
export declare abstract class ThumbnailUrl extends Builder {
/**
* @description A URL that loads the thumbnail image of the video.
*
* **Slack Validation Rules and Tips:**
* * **Required property for Video blocks** ⚠
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
thumbnailUrl(thumbnailUrl: Settable<string>): this;
}
export declare abstract class Title extends Builder {
/**
* @description Sets the title displayed for the block, element, or confirmation dialog.
*
* **Slack Validation Rules and Tips:**
* * **Required for views and confirmation dialogs** ⚠
* * For views, maximum of 24 characters.
* * For images, maximum of 2000 characters.
* * For confirmation dialogs, maximum of 100 characters.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
title(title: Settable<string>): this;
}
export declare abstract class TitleUrl extends Builder {
/**
* @description A hyperlink for the video's title text.
*
* **Slack Validation Rules and Tips:**
* * Must correspond to the non-embeddable URL for the video.
* * Must go to an HTTPS URL.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
titleUrl(titleUrl: Settable<string>): this;
}
export declare abstract class Ts extends Builder {
/**
* @description Instructs the Slack API to use the message to replaced an existing message.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
ts(ts: Settable<string>): this;
}
export declare abstract class Url extends Builder {
/**
* @description Sets the URL to which the user is redirected when interacting with a button or option.
*
* **Slack Validation Rules and Tips:**
* * Maximum of 3000 characters.
* * For options, it is only supported for options in an overflow menu.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
url(url: Settable<string>): this;
}
export declare abstract class Value extends Builder {
/**
* @description Sets a value to be sent to your app when a user interacts with a button or option.
*
* **Slack Validation Rules and Tips:**
* * For buttons, maximum of 2000 characters.
* * For options, maximum of 75 characters.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
value(value: Settable<string>): this;
}
export declare abstract class VideoUrl extends Builder {
/**
* @description The URL of the video to embed in the Video block.
*
* **Slack Validation Rules and Tips:**
* * **Required property for Video blocks** ⚠
* * Must match any existing unfurl domains within the app.
* * Must point to an HTTPS URL.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
videoUrl(videoUrl: Settable<string>): this;
}
export declare abstract class MaxFiles extends Builder {
/**
* @description Maximum number of files that can be uploaded for this file_input element. Minimum of 1, maximum of 10. Defaults to 10 if not specified.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
maxFiles(maxFiles?: Settable<number>): this;
}
export declare abstract class Filetypes extends Builder {
/**
* @description An array of valid file extensions that will be accepted for this element. All file extensions will be accepted if filetypes is not specified.
*
* **Slack Validation Rules and Tips:**
* * **Required if the text property is undefined** ⚠
* * Maximum of 10 items.
* * Maximum of 2000 characters for each field.
* * Markdown supported.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
filetypes(filetypes?: Settable<string[]>): this;
}
/** Расширенные методы нашего форка */
export declare abstract class Access extends Builder {
/**
* @description Установка доступа по фиксированным группам
*/
access(access: Settable<string>): this;
}
export declare abstract class AsTitle extends Builder {
/**
* @description Установка названия задачи из текста блока
*/
asTitle(asTitle?: Settable<boolean>): this;
}
export declare abstract class Analytics extends Builder {
/**
* @description Установка названия задачи из текста блока
*/
analytics(analytics: Settable<AnalyticsParams>): this;
}
export declare abstract class CustomField extends Builder {
/**
* @description Установка customValue для планфикса
*/
customField(fieldId: Settable<number | false>): this;
}
export declare abstract class NotCustom extends Builder {
/**
* @description Установка customValue для планфикса
*/
notCustom(notCustom: Settable<Boolean>): this;
}
export declare abstract class GetValue extends Builder {
/**
* @description Установка получения значения из блока
*/
getValue(getValue?: Settable<Boolean>): this;
}
export declare abstract class MinOffset extends Builder {
/**
* @description Простановка минимальной даты для плагина в Loop
*/
minOffset(offset: Settable<OffsetParams>): this;
}
export declare abstract class MaxOffset extends Builder {
/**
* @description Простановка максимальной даты для плагина в Loop
*/
maxOffset(offset: Settable<OffsetParams>): this;
}
export declare abstract class DatePickerPicker extends Builder {
/**
* @description Простановка минимальной даты для плагина в Loop
*/
picker(type: Settable<DatePickerPickerParams>): this;
}
export declare abstract class ForTeams extends Builder {
/** Установка команд которым видим блок */
forTeams(...teams: Settable<string>[]): this;
}
export declare abstract class NoSubmit extends Builder {
/** Если блок видим - форму нельзя отправить */
noSubmit(noSubmit?: Settable<boolean>): this;
}
export declare abstract class Directory extends Builder {
/**
* @description Установка хендбука для ПФ
*/
directory(name: Settable<DirectoryParams>): this;
}
export declare abstract class OneS extends Builder {
/**
* @description Установка хендбука для ПФ
*/
oneS(name: Settable<OneSSelectType>): this;
}
export declare abstract class SubmitOnClick extends Builder {
/**
* @description Отправка при клике на кнопку
*/
submitOnClick(value?: Settable<boolean>): this;
}
export declare abstract class OnSelect extends Builder {
/**
* @description Действия при выборе опции
*/
onSelect(params: Settable<OnSelectParams>): this;
}
export declare abstract class ImageSelectVariant extends Builder {
/**
* @description Тип image select
*/
variant(variant: Settable<TImageSelectVariant>): this;
}
export declare abstract class RegEx extends Builder {
/**
* @description Регекс для валидации
*/
regExp(regExp: Settable<RegExp>): this;
}
export declare abstract class InitialOffsetRange extends Builder {
/**
* @description Pre-populates the date picker with a selected, default date.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
initialOffsetRange(params: Settable<OffsetRangeParams>): this;
}
export declare abstract class MaxDateRange extends Builder {
/**
* @description Pre-populates the date picker with a selected, default date.
*
* {@link https://api.slack.com/block-kit|Open Official Slack Block Kit Documentation}
* {@link https://www.blockbuilder.dev|Open Block Builder Documentation}
*/
maxDateRange(params: Settable<MaxDateRangeParams>): this;
}
export declare abstract class TextProps<T extends Record<string, any>> extends Builder {
/**
* @description Параметры, которые надо передавать в качестве text
*/
textProps(props: Settable<(keyof T)[]>): this;
}
export declare abstract class SetTeam extends Builder {
/**
* @description Команда для блока
*/
setTeam(teamId: Settable<ElementTeamParams>): this;
}
export declare abstract class FetchValues extends Builder {
/**
* @description Запрос значений по ссылке
*
* Данные принимаются в формате @type {[block_id: string]: any}
*/
fetchValues(params: Settable<FetchValuesParams>): this;
}