import { ChoiceCardColumns, ChoiceCardEmits, ChoiceCardProps, ChoiceOption, ChoiceSelectPayload, ChoiceStep, ChoiceStepLabelFormatter } from './src/types';
import { default as TxChoiceCard } from './src/TxChoiceCard.vue';
/**
* TxChoiceCard — a question card whose answers are rich rows (icon, label, one line of
* description), optionally split over steps with a `‹ 1 / 2 ›` pager. Picking a row emits
* `select`; the host decides whether that moves to the next step (`v-model:step`) or ends.
*
* @example
* ```ts
* import { TxChoiceCard } from '@talex-touch/tuffex'
*
* //
* ```
*
* @public
*/
declare const ChoiceCard: {
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins;
required: true;
};
step: {
type: NumberConstructor;
default: undefined;
};
selected: {
type: StringConstructor;
default: undefined;
};
loading: {
type: BooleanConstructor;
default: boolean;
};
loadingRows: {
type: NumberConstructor;
default: number;
};
columns: {
type: import('vue').PropType;
default: number;
};
appear: {
type: BooleanConstructor;
default: boolean;
};
prevLabel: {
type: StringConstructor;
default: string;
};
nextLabel: {
type: StringConstructor;
default: string;
};
stepLabel: {
type: import('vue').PropType;
default: (current: number, total: number) => string;
};
}>> & Readonly<{
onSelect?: ((payload: ChoiceSelectPayload) => any) | undefined;
"onUpdate:step"?: ((index: number) => any) | undefined;
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
select: (payload: ChoiceSelectPayload) => any;
"update:step": (index: number) => any;
}, import('vue').PublicProps, {
loading: boolean;
selected: string;
appear: boolean;
nextLabel: string;
prevLabel: string;
step: number;
columns: ChoiceCardColumns;
loadingRows: number;
stepLabel: ChoiceStepLabelFormatter;
}, true, {}, {}, Record, Record, string, {
prevRef: HTMLButtonElement;
nextRef: HTMLButtonElement;
listRef: HTMLUListElement;
}, any, import('vue').ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly;
required: true;
};
step: {
type: NumberConstructor;
default: undefined;
};
selected: {
type: StringConstructor;
default: undefined;
};
loading: {
type: BooleanConstructor;
default: boolean;
};
loadingRows: {
type: NumberConstructor;
default: number;
};
columns: {
type: import('vue').PropType;
default: number;
};
appear: {
type: BooleanConstructor;
default: boolean;
};
prevLabel: {
type: StringConstructor;
default: string;
};
nextLabel: {
type: StringConstructor;
default: string;
};
stepLabel: {
type: import('vue').PropType;
default: (current: number, total: number) => string;
};
}>> & Readonly<{
onSelect?: ((payload: ChoiceSelectPayload) => any) | undefined;
"onUpdate:step"?: ((index: number) => any) | undefined;
}>, {}, {}, {}, {}, {
loading: boolean;
selected: string;
appear: boolean;
nextLabel: string;
prevLabel: string;
step: number;
columns: ChoiceCardColumns;
loadingRows: number;
stepLabel: ChoiceStepLabelFormatter;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & import('vue').ComponentOptionsBase;
required: true;
};
step: {
type: NumberConstructor;
default: undefined;
};
selected: {
type: StringConstructor;
default: undefined;
};
loading: {
type: BooleanConstructor;
default: boolean;
};
loadingRows: {
type: NumberConstructor;
default: number;
};
columns: {
type: import('vue').PropType;
default: number;
};
appear: {
type: BooleanConstructor;
default: boolean;
};
prevLabel: {
type: StringConstructor;
default: string;
};
nextLabel: {
type: StringConstructor;
default: string;
};
stepLabel: {
type: import('vue').PropType;
default: (current: number, total: number) => string;
};
}>> & Readonly<{
onSelect?: ((payload: ChoiceSelectPayload) => any) | undefined;
"onUpdate:step"?: ((index: number) => any) | undefined;
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
select: (payload: ChoiceSelectPayload) => any;
"update:step": (index: number) => any;
}, string, {
loading: boolean;
selected: string;
appear: boolean;
nextLabel: string;
prevLabel: string;
step: number;
columns: ChoiceCardColumns;
loadingRows: number;
stepLabel: ChoiceStepLabelFormatter;
}, {}, string, {}, Record, Record, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
$slots: Readonly<{
header?: (props: {
step: ChoiceStep;
stepIndex: number;
total: number;
}) => any;
}> & {
header?: (props: {
step: ChoiceStep;
stepIndex: number;
total: number;
}) => any;
};
}) & import('vue').Plugin;
export { ChoiceCard, TxChoiceCard };
export type { ChoiceCardColumns, ChoiceCardEmits, ChoiceCardProps, ChoiceOption, ChoiceSelectPayload, ChoiceStep, ChoiceStepLabelFormatter, };
export type TxChoiceCardInstance = InstanceType;
export default ChoiceCard;