← Public packages
@kentcdodds/kit
Kit.com helpers for subscribers, tags, forms, sequences, and broadcasts.
src/index.d.ts
56 lines · 1.6 KB · TypeScriptexport type SubscriberFilterClause = {
none?: Array<{ type: 'tag' | string; ids: number[] }>
any?: Array<{ type: 'tag' | string; ids: number[] }>
all?: Array<{ type: 'tag' | string; ids: number[] }>
}
export type BroadcastDraftInput = {
/** Required email subject. */
subject: string
/** Required HTML body. */
content: string
preview_text?: string
description?: string
thumbnail_url?: string
thumbnail_alt?: string
email_address?: string
email_template_id?: number
public?: boolean
send_at?: string | null
subscriber_filter?: SubscriberFilterClause[]
}
export type BroadcastDetail = {
id: number
subject?: string
status?: string
editUrl: string
preview_text?: unknown
description?: unknown
content?: unknown
thumbnail_url?: unknown
thumbnail_alt?: unknown
email_address?: unknown
email_template?: unknown
public?: unknown
send_at?: unknown
subscriber_filter?: unknown
public_url?: unknown
}
/**
* Create a Kit broadcast **draft** — never sends or schedules.
* Root default export; same as `./create-broadcast-draft`.
* Named helpers live on `./named` (HTML, subscribers, sequences, constants).
*
* @param input - Draft subject, HTML content, and optional template/filter fields
* @returns Broadcast detail including id and Kit editUrl
*
* @example
* import createBroadcastDraft from 'kody:@kentcdodds/kit'
* const draft = await createBroadcastDraft({ subject: 'Hello', content: '<p>Hi</p>' })
* // => { id: 123, editUrl: 'https://app.kit.com/campaigns/123/draft' }
*/
export default function createBroadcastDraftDefault(
input: BroadcastDraftInput,
): Promise<BroadcastDetail>