import type { CommandBase, Progress } from "@effect-app/vue/makeClient"; import * as Option from "effect-app/Option"; import type * as AsyncResult from "effect/unstable/reactivity/AsyncResult"; import type { VBtn } from "vuetify/components"; export type VBtnProps = VBtn["$props"]; export interface ButtonProps extends /* @vue-ignore */ VBtnProps { } /** * CommandButton connects a command to a button and tracks disabled / loading state. * * Input variants: * - `input`: pass a validated value; button enabled when command + disabled allow it. * - `optionalInput`: pass an `Option`. `Some` → enabled, click fires with the value. * `None` → disabled. Use this when the input is gated by a `computed` instead of * a `v-if` on the button itself. * - neither: command takes no input. */ declare const _default: typeof __VLS_export; export default _default; declare const __VLS_export: (__VLS_props: NonNullable>["props"], __VLS_ctx?: __VLS_PrettifyLocal>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable>["expose"], __VLS_setup?: Promise<{ props: import("vue").PublicProps & __VLS_PrettifyLocal<({ input: NoInfer; optionalInput?: undefined; command: CommandBase; empty?: boolean; } | { optionalInput: Option.Option>; input?: undefined; command: CommandBase; empty?: boolean; } | { command: CommandBase; input?: undefined; optionalInput?: undefined; empty?: boolean; }) & { disabled?: ButtonProps["disabled"]; title?: string; mapProgress?: (result: AsyncResult.AsyncResult) => Progress | undefined; } & ButtonProps> & (typeof globalThis extends { __VLS_PROPS_FALLBACK: infer P; } ? P : {}); expose: (exposed: {}) => void; attrs: any; slots: { default?: (props: { loading: boolean; disabled: boolean; label: string; title: string; }) => any; }; emit: {}; }>) => import("vue").VNode & { __ctx?: Awaited; }; type __VLS_PrettifyLocal = (T extends any ? { [K in keyof T]: T[K]; } : { [K in keyof T as K]: T[K]; }) & {};