import { TTypeProto } from "./_.spec" ; export interface IPushDownAutomaton < T > { readonly state ? : T ; clear ( ) : void ; pop ( ) : T | undefined ; push < P extends TTypeProto < T > > ( state ) : void ; } export type TPushDownAutomatonProto < T > = { new ( ) : IPushDownAutomaton < T > ; } ; export default IPushDownAutomaton ;