import { MarketingAdapter } from './index.js';
import { SegmentFilter, Segment } from './self-managed.js';
import '@platform-modules/mail';

type SegmentsCapable = {
    createSegment(def: {
        name: string;
        listId: string;
        filter: SegmentFilter;
    }): Promise<Segment>;
    listSegments(listId?: string): Promise<Segment[]>;
};
declare function asSegmentsCapable(adapter: MarketingAdapter): SegmentsCapable;
declare function createSegment(adapter: MarketingAdapter, def: {
    name: string;
    listId: string;
    filter: SegmentFilter;
}): Promise<Segment>;
declare function listSegments(adapter: MarketingAdapter, listId?: string): Promise<Segment[]>;

export { Segment, SegmentFilter, type SegmentsCapable, asSegmentsCapable, createSegment, listSegments };
