export type StackArray = StackValue[];
export type UnknownValue = null | undefined;
export type StackValue = string | number | boolean | StackElement | StackArray | UnknownValue;
export interface StackElement {
    [key: string]: StackValue;
}
export declare class Stack {
    private readonly elements;
    constructor();
    private toValue;
    new(): StackElement;
    pop(): StackElement | undefined;
    push(element: StackElement): void;
    peek(): StackElement;
    update(key: string, value: StackValue): void;
    size(): number;
    isEmpty(): boolean;
}
export declare class PopulatedStack extends Stack {
    constructor();
}
