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 { GpioPinContainerModel } from '../gpio-pin';
import { GpioChipOptions } from './types';
export declare const MODEL_TYPE = "gpio-chip-model";
export type GpioChipModel = PublicModelInterface<GpioChipModelImpl>;
export interface GpioChipModelImpl extends KosLoggerAware {
}
export declare class GpioChipModelImpl implements IKosDataModel, IKosIdentifiable {
    static Registration: KosModelRegistrationType<GpioChipModel, GpioChipOptions>;
    id: string;
    num: number;
    devName: string;
    name: string;
    pinCount: number;
    pinNames: string[];
    private _pins;
    constructor(modelId: string, options: GpioChipOptions);
    get pinManager(): GpioPinContainerModel;
    updateModel(_options: GpioChipOptions): void;
    handleGpioChipLoad(): Promise<void>;
    init(): Promise<void>;
    load(): Promise<void>;
}
export declare const GpioChip: KosModelRegistrationType<GpioChipModel, GpioChipOptions>;
//# sourceMappingURL=gpio-chip-model.d.ts.map