import { KosLoggerAware } from '../../../core/core/decorators';
import { IKosDataModel } from '../../../core/core/kosModel';
import { KosModelRegistrationType } from '../../../core/core/registration/model-registration';
import { IKosIdentifiable } from '../../../core/core/types';
import { PublicModelInterface } from '../../../core/types';
import { GpioPinOptions } from './types';
export declare const MODEL_TYPE = "gpio-pin-model";
export type GpioPinModel = PublicModelInterface<GpioPinModelImpl>;
export interface GpioPinModelImpl extends KosLoggerAware {
}
export declare class GpioPinModelImpl implements IKosDataModel, IKosIdentifiable {
    static Registration: KosModelRegistrationType<GpioPinModel, GpioPinOptions>;
    id: string;
    pinNum: number;
    chipNum: number;
    name: string;
    status: "bound" | "pending" | "invalid" | "free";
    connected: boolean;
    constructor(modelId: string, options: GpioPinOptions);
    updateModel(options: Partial<Omit<GpioPinOptions, "chipNum" | "pinNum" | "name">>): void;
    init(): Promise<void>;
    load(): Promise<void>;
}
export declare const GpioPin: KosModelRegistrationType<GpioPinModel, GpioPinOptions>;
//# sourceMappingURL=gpio-pin-model.d.ts.map