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;