import { type JCal } from './parse';
import { ICalProperty } from './property';
import { type DesignSet } from './design';
export declare class ICalComponent {
    jCal: JCal;
    parent: ICalComponent | null;
    private properties?;
    private hydratedPropertyCount;
    constructor(jCal: JCal | string, parent?: ICalComponent);
    /**
     * The design set for this component, e.g. icalendar vs vcard
     */
    get designSet(): DesignSet;
    /**
     * Returns first property's value, if available.
     * @param name    Lowercase property name
     */
    getFirstPropertyValue(name: string): string | null;
    /**
     * Finds the first property, optionally with the given name.
     * @param name Lowercase property name
     */
    getFirstProperty(name: string): ICalProperty | null;
    private hydrateProperty;
}
