/// <reference types="react" resolution-mode="require"/>
import type { AccessCode } from 'seamapi';
import type { UseAccessCodeData } from '../../../lib/seam/access-codes/use-access-code.js';
import type { UseDeviceData } from '../../../lib/seam/devices/use-device.js';
export interface AccessCodeFormSubmitData {
    name: string;
    code: string;
    type: AccessCode['type'];
    device: NonNullable<UseDeviceData>;
    startDate: string;
    endDate: string;
    timezone: string;
}
export interface AccessCodeFormProps {
    accessCode?: NonNullable<UseAccessCodeData>;
    device: NonNullable<UseDeviceData>;
    isSubmitting: boolean;
    onSubmit: (data: AccessCodeFormSubmitData) => void;
    codeError: string | null;
    onBack: (() => void) | undefined;
    className: string | undefined;
}
export declare function AccessCodeForm({ className, ...props }: AccessCodeFormProps): JSX.Element | null;
