import { KosContainerAware, 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 { GpioPinModel } from './gpio-pin-model';
import { GpioPinContainerOptions } from './types';
export declare const MODEL_TYPE = "gpio-pin-container-model";
export type GpioPinContainerModel = PublicModelInterface<GpioPinContainerModelImpl>;
export interface GpioPinContainerModelImpl extends KosLoggerAware, KosContainerAware<GpioPinModel> {
}
export declare class GpioPinContainerModelImpl implements IKosIdentifiable, IKosDataModel {
    static Registration: KosModelRegistrationType<GpioPinContainerModel, GpioPinContainerOptions>;
    id: string;
    constructor(modelId: string, _options: GpioPinContainerOptions);
    updateModel(_options: GpioPinContainerOptions): void;
    getPin(pinNum: number): GpioPinModel | undefined;
    init(): Promise<void>;
    load(): Promise<void>;
}
export declare const GpioPinContainer: KosModelRegistrationType<GpioPinContainerModel, GpioPinContainerOptions>;
//# sourceMappingURL=gpio-pin-container-model.d.ts.map