import type { FieldDefinition } from '../manifest/schema';
import { type ButtonGroupField, type ButtonOptions } from './button';
type CtasOptions = {
    id?: string;
    label?: string;
    itemLabel?: string;
    minItems?: number;
    maxItems?: number;
    button?: ButtonOptions;
};
type CtasOptionId<O> = O extends {
    id: infer Id extends string;
} ? Id : 'ctas';
type CtasButtonOptions<O> = O extends {
    button: infer Button extends ButtonOptions;
} ? Button : {};
export type CtasRepeaterField<O extends CtasOptions = {}> = FieldDefinition & {
    readonly id: CtasOptionId<O>;
    readonly type: 'repeater';
    readonly schema: {
        readonly fields: readonly [
            ButtonGroupField<CtasButtonOptions<O> & {
                readonly flattenInRepeater: true;
            }>
        ];
    };
};
export declare function createCtasRepeater<const O extends CtasOptions = {}>(options?: O): CtasRepeaterField<O>;
export {};
