import { ApprovalAnswer, ApprovalAnswerMap, ApprovalCardEmits, ApprovalCardProps, ApprovalOption, ApprovalQuestion, ApprovalQuestionType } from './src/types';
import { default as TxApprovalCard } from './src/TxApprovalCard.vue';
/**
* TxApprovalCard — the clarifying questions an agent asks before it acts.
*
* This is a questionnaire, not a gate: use `TxToolConfirmation` for the binary
* allow/deny decision on a single tool call.
*
* Adapted from Beautiful UI (https://www.beautifului.dev), © 2026 Shane Levine, MIT.
*
* @example
* ```ts
* import { TxApprovalCard } from '@talex-touch/tuffex'
*
* // Use in template
*
* ```
*
* @public
*/
declare const ApprovalCard: {
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins & Readonly<{
onSubmit?: ((answers: ApprovalAnswer[]) => any) | undefined;
"onUpdate:modelValue"?: ((answers: ApprovalAnswerMap) => any) | undefined;
"onUpdate:open"?: ((open: boolean) => any) | undefined;
"onUpdate:index"?: ((index: number) => any) | undefined;
"onUpdate:sent"?: ((sent: boolean) => any) | undefined;
onAnswer?: ((answer: ApprovalAnswer) => any) | undefined;
onSkip?: ((payload: {
questionId: string;
index: number;
}) => any) | undefined;
onDismiss?: (() => any) | undefined;
onReopen?: (() => any) | undefined;
}>, {
next: () => void;
prev: () => void;
goTo: (next: number) => void;
submit: () => void;
reset: () => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
submit: (answers: ApprovalAnswer[]) => any;
"update:modelValue": (answers: ApprovalAnswerMap) => any;
"update:open": (open: boolean) => any;
"update:index": (index: number) => any;
"update:sent": (sent: boolean) => any;
answer: (answer: ApprovalAnswer) => any;
skip: (payload: {
questionId: string;
index: number;
}) => any;
dismiss: () => any;
reopen: () => any;
}, import('vue').PublicProps, {
ariaLabel: string;
open: boolean;
index: number;
modelValue: ApprovalAnswerMap;
nextLabel: string;
sent: boolean;
autoAdvance: boolean;
autoAdvanceDelay: number;
dismissible: boolean;
sendLabel: string;
nextQuestionLabel: string;
prevLabel: string;
dismissLabel: string;
reopenLabel: string;
sentLabel: string;
startOverLabel: string;
customPlaceholder: string;
customLabel: string;
pagerLabelFormatter: (position: number) => string;
skippable: boolean;
skipLabel: string;
}, false, {}, {}, Record, Record, string, {}, any, import('vue').ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly & Readonly<{
onSubmit?: ((answers: ApprovalAnswer[]) => any) | undefined;
"onUpdate:modelValue"?: ((answers: ApprovalAnswerMap) => any) | undefined;
"onUpdate:open"?: ((open: boolean) => any) | undefined;
"onUpdate:index"?: ((index: number) => any) | undefined;
"onUpdate:sent"?: ((sent: boolean) => any) | undefined;
onAnswer?: ((answer: ApprovalAnswer) => any) | undefined;
onSkip?: ((payload: {
questionId: string;
index: number;
}) => any) | undefined;
onDismiss?: (() => any) | undefined;
onReopen?: (() => any) | undefined;
}>, {
next: () => void;
prev: () => void;
goTo: (next: number) => void;
submit: () => void;
reset: () => void;
}, {}, {}, {}, {
ariaLabel: string;
open: boolean;
index: number;
modelValue: ApprovalAnswerMap;
nextLabel: string;
sent: boolean;
autoAdvance: boolean;
autoAdvanceDelay: number;
dismissible: boolean;
sendLabel: string;
nextQuestionLabel: string;
prevLabel: string;
dismissLabel: string;
reopenLabel: string;
sentLabel: string;
startOverLabel: string;
customPlaceholder: string;
customLabel: string;
pagerLabelFormatter: (position: number) => string;
skippable: boolean;
skipLabel: string;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & import('vue').ComponentOptionsBase & Readonly<{
onSubmit?: ((answers: ApprovalAnswer[]) => any) | undefined;
"onUpdate:modelValue"?: ((answers: ApprovalAnswerMap) => any) | undefined;
"onUpdate:open"?: ((open: boolean) => any) | undefined;
"onUpdate:index"?: ((index: number) => any) | undefined;
"onUpdate:sent"?: ((sent: boolean) => any) | undefined;
onAnswer?: ((answer: ApprovalAnswer) => any) | undefined;
onSkip?: ((payload: {
questionId: string;
index: number;
}) => any) | undefined;
onDismiss?: (() => any) | undefined;
onReopen?: (() => any) | undefined;
}>, {
next: () => void;
prev: () => void;
goTo: (next: number) => void;
submit: () => void;
reset: () => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
submit: (answers: ApprovalAnswer[]) => any;
"update:modelValue": (answers: ApprovalAnswerMap) => any;
"update:open": (open: boolean) => any;
"update:index": (index: number) => any;
"update:sent": (sent: boolean) => any;
answer: (answer: ApprovalAnswer) => any;
skip: (payload: {
questionId: string;
index: number;
}) => any;
dismiss: () => any;
reopen: () => any;
}, string, {
ariaLabel: string;
open: boolean;
index: number;
modelValue: ApprovalAnswerMap;
nextLabel: string;
sent: boolean;
autoAdvance: boolean;
autoAdvanceDelay: number;
dismissible: boolean;
sendLabel: string;
nextQuestionLabel: string;
prevLabel: string;
dismissLabel: string;
reopenLabel: string;
sentLabel: string;
startOverLabel: string;
customPlaceholder: string;
customLabel: string;
pagerLabelFormatter: (position: number) => string;
skippable: boolean;
skipLabel: string;
}, {}, string, {}, Record, Record, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
$slots: Readonly<{
question?: (props: {
question: ApprovalQuestion;
index: number;
}) => any;
sent?: (props: {
answers: ApprovalAnswer[];
}) => any;
'footer-extra'?: () => any;
}> & {
question?: (props: {
question: ApprovalQuestion;
index: number;
}) => any;
sent?: (props: {
answers: ApprovalAnswer[];
}) => any;
'footer-extra'?: () => any;
};
}) & import('vue').Plugin;
export { ApprovalCard, TxApprovalCard };
export type { ApprovalAnswer, ApprovalAnswerMap, ApprovalCardEmits, ApprovalCardProps, ApprovalOption, ApprovalQuestion, ApprovalQuestionType, };
export type TxApprovalCardInstance = InstanceType;
export default ApprovalCard;