import * as React from 'react'; import { ApiError, CatalogApi } from './api'; import type { Field } from './fields'; import type { MembershipItem, MembershipPage, Payload, Season, Sport } from './types'; interface Props { api: CatalogApi; kind: MembershipPage | 'memberships'; item: MembershipItem | null; seasons?: Season[]; types?: Sport[]; onSave: (payload: Payload) => Promise; onCancel: () => void; seasonId?: number | null; } export type Values = Record; export declare function payloadFor(fields: Field[], values: Values, source: Record): Payload; export declare function Controls(props: { fields: Field[]; values: Values; onChange: (key: string, value: string | boolean) => void; seasons: Season[]; types: Sport[]; error: ApiError | null; }): React.JSX.Element; export declare function MembershipForm(props: Props): React.JSX.Element; export declare function MembershipValuesEditor(props: { requireType?: boolean; values: Values; onChange: (key: string, value: string | boolean) => void; seasons: Season[]; types: Sport[]; error?: ApiError | null; }): React.JSX.Element;