export interface IDevice {
    id?: number;
    mac: string;
    mac_auth?: boolean;
    enabled?: boolean;
    username?: string;
    password?: string;
    role_id?: number;
    role_name?: string;
    start_time?: string;
    expire_time?: string;
    current_state?: 'active' | 'disabled' | 'expired' | 'pending';
    visitor_name?: string;
    sponsor_name?: string;
    sponsor_profile?: string;
    sponsor_profile_name?: string;
    notes?: string;
    source?: string;
    create_time?: string;
    [key: string]: any;
}
export interface IDeviceCreate {
    mac: string;
    role_id: number;
    role_name?: string;
    enabled?: boolean;
    start_time?: string;
    expire_time?: string;
    visitor_name?: string;
    sponsor_name?: string;
    sponsor_profile?: string;
    sponsor_profile_name?: string;
    notes?: string;
    source?: string;
    create_time?: string;
    [key: string]: any;
}
export interface IDeviceUpdate extends Partial<IDeviceCreate> {
}
export interface IDeviceReplace {
    mac: string;
    role_id: number;
    role_name?: string;
    enabled?: boolean;
    start_time?: string;
    expire_time?: string;
    visitor_name?: string;
    sponsor_name?: string;
    sponsor_profile?: string;
    sponsor_profile_name?: string;
    notes?: string;
    source?: string;
    create_time?: string;
    [key: string]: any;
}
