import type { Cookie } from '../../Cookie.js'; import type { Request } from '../../Request.js'; import type { SelectorID } from '../Selector.js'; import { Form } from './Form.js'; export interface FormItemElement { id: string; type: T; isHidden: boolean; } type TypedRowElement = FormItemElement & P; type LabelRowElement = TypedRowElement<'labelRow', LabelRowProps & { isSelectable: boolean; }>; type OAuthButtonRowElement = TypedRowElement<'oauthButtonRow', OAuthButtonRowProps>; type NavigationRowElement = TypedRowElement<'navigationRow', NavigationRowProps>; type ButtonRowElement = TypedRowElement<'buttonRow', ButtonRowProps>; type SelectRowElement = TypedRowElement<'selectRow', SelectRowProps>; type ToggleRowElement = TypedRowElement<'toggleRow', ToggleRowProps>; type InputRowElement = TypedRowElement<'inputRow', InputRowProps>; type StepperRowElement = TypedRowElement<'stepperRow', StepperRowProps>; type WebViewRowElement = TypedRowElement<'webViewRow', WebViewRowProps>; export type LabelRowProps = { title: string; subtitle?: string; value?: string; isHidden?: boolean; onSelect?: SelectorID<() => Promise>; }; export declare function LabelRow(id: string, props: LabelRowProps): LabelRowElement; export type InputRowProps = { title: string; value: string; isSecureEntry?: boolean; isHidden?: boolean; onValueChange: SelectorID<(value: string) => Promise>; }; export declare function InputRow(id: string, props: InputRowProps): InputRowElement; export type StepperRowProps = { title: string; subtitle?: string; value: number; minValue: number; maxValue: number; stepValue: number; loopOver: boolean; isHidden?: boolean; onValueChange: SelectorID<(value: number) => Promise>; }; export declare function StepperRow(id: string, props: StepperRowProps): StepperRowElement; export type ToggleRowProps = { title: string; subtitle?: string; value: boolean; isHidden?: boolean; onValueChange: SelectorID<(value: boolean) => Promise>; }; export declare function ToggleRow(id: string, props: ToggleRowProps): ToggleRowElement; export type SelectRowProps = { title: string; subtitle?: string; value: string[]; minItemCount: number; maxItemCount: number; options: { id: string; title: string; }[]; isHidden?: boolean; onValueChange: SelectorID<(value: string[]) => Promise>; }; export declare function SelectRow(id: string, props: SelectRowProps): SelectRowElement; export type ButtonRowProps = { title: string; isHidden?: boolean; onSelect: SelectorID<() => Promise>; }; export declare function ButtonRow(id: string, props: ButtonRowProps): ButtonRowElement; export type WebViewRowProps = { title: string; request: Request; isHidden?: boolean; onComplete: SelectorID<(cookies: Cookie[]) => Promise>; onCancel: SelectorID<() => Promise>; }; export declare function WebViewRow(id: string, props: WebViewRowProps): WebViewRowElement; export type NavigationRowProps = { title: string; subtitle?: string; value?: string; isHidden?: boolean; form: Form; }; export declare function NavigationRow(id: string, props: NavigationRowProps): NavigationRowElement; export type OAuthButtonRowProps = { title: string; subtitle?: string; onSuccess: SelectorID<(refreshToken: string, accessToken: string) => Promise>; authorizeEndpoint: string; responseType: { type: 'token'; } | { type: 'code'; tokenEndpoint: string; } | { type: 'pkce'; tokenEndpoint: string; pkceCodeLength: number; pkceCodeMethod: 'S256' | 'plain'; formEncodeGrant: boolean; }; clientId?: string; redirectUri?: string; scopes?: string[]; isHidden?: boolean; }; export declare function OAuthButtonRow(id: string, props: OAuthButtonRowProps): OAuthButtonRowElement; export declare function DeferredItem>(work: () => T): T; export {}; //# sourceMappingURL=FormItemElement.d.ts.map