import { DeviceConfig, ArchConfig, RepoInfo, PinFunctionInfo, PinFunction } from "@devicescript/interop";
export declare function boardInfos(info: RepoInfo): BoardInfo[];
export interface BoardInfo {
    name: string;
    arch: string;
    description: string;
    urls: {
        info: string;
        firmware: string;
    } & Record<string, string>;
    features: string[];
    services: string[];
    pinInfo: PinInfo[];
    pinInfoText: string;
    markdown: string;
    errors: string[];
}
export declare function boardInfo(cfg: DeviceConfig, arch?: ArchConfig): BoardInfo;
export declare function boardMarkdownFiles(): Record<string, string>;
export declare function expandPinFunctionInfo(info: PinFunctionInfo): PinFunction[][];
export declare function pinFunctions(info: PinFunctionInfo, p: number, keepInputOutput?: boolean): (keyof PinFunctionInfo)[];
export declare function pinHasFunction(info: PinFunctionInfo, p: number, fn: PinFunction): boolean;
export interface PinInfo {
    label: string;
    silkLabel: string;
    commonLabel: string;
    functionLabel?: string;
    gpio: number;
    functions: PinFunction[];
}
export declare function pinsInfo(arch: ArchConfig, devcfg: DeviceConfig): {
    desc: string;
    infos: PinInfo[];
    errors: string[];
};
//# sourceMappingURL=board.d.ts.map