export declare type Input = boolean[];
export declare type Output = boolean[] | boolean;
export declare type TruthTable = Array<(boolean | boolean[])[]>;
export declare class BaseGate {
    input: Input;
    output: Output;
    truthTable: TruthTable;
    constructor(input: Input);
    static create(input: Input): BaseGate;
    static getTruthTable(): void;
    protected setOutput(): void;
    protected setTruthTable(): void;
    protected checkInputValidity(input: Input): void;
}
