export type IRange = [number, number];
export type IPairPart = {
    index: number;
    hardened: boolean;
};
export type IPair = [IPairPart, IPairPart];
export interface IPathComponentArgs {
    index?: number;
    range?: IRange;
    wildcard?: boolean;
    hardened?: boolean;
    pair?: IPair;
}
export declare class PathComponent {
    static readonly HARDENED_BIT = 2147483648;
    private index?;
    private range?;
    private wildcard;
    private hardened;
    private pair?;
    constructor(args: IPathComponentArgs);
    getIndex: () => number | undefined;
    getRange: () => IRange | undefined;
    isWildcard: () => boolean;
    isHardened: () => boolean;
    getPair: () => IPair | undefined;
    isIndexComponent: () => boolean;
    isRangeComponent: () => boolean;
    isWildcardComponent: () => boolean;
    isPairComponent: () => boolean;
    toString(hardenedFlag?: "'" | 'h'): string;
    static fromString(component: string): PathComponent;
}
