import type { Settings } from '../generated-types';
import { ContentTemplateTypes, Profile } from './types';
import { MessageSendPerformer, MessagePayloadBase } from '@segment/actions-shared';
export interface TwilioPayloadBase extends MessagePayloadBase {
    contentSid?: string;
}
export declare abstract class TwilioMessageSender<TPayload extends TwilioPayloadBase> extends MessageSendPerformer<Settings, TPayload> {
    getIntegrationStatsName(): string;
    getDefaultSettingsRegion(): string;
    abstract readonly supportedTemplateTypes: string[];
    parseContent<R extends Record<string, string | string[] | undefined>>(content: R, profile: Profile): Promise<R>;
    getContentTemplateTypes(): Promise<ContentTemplateTypes>;
    private extractTemplateTypes;
    getWebhookUrlWithParams(externalIdType?: string, externalIdValue?: string, defaultConnectionOverrides?: string): string | null;
    beforePerform(): void;
}
