export interface ParsedTokenId {
    organizationId?: string | null;
    sessionId: string;
    template?: string;
}
/**
 * Utility for building and parsing token identifiers.
 * Token IDs follow the format: sessionId[-template][-organizationId]
 */
export declare const TokenId: {
    /**
     * Builds a token identifier from session context components.
     *
     * @example
     * ```typescript
     * TokenId.build('sess_123') // 'sess_123'
     * TokenId.build('sess_123', 'custom') // 'sess_123-custom'
     * TokenId.build('sess_123', 'custom', 'org_456') // 'sess_123-custom-org_456'
     * TokenId.build('sess_123', undefined, 'org_456') // 'sess_123-org_456'
     * ```
     */
    build: (sessionId: string, template?: string, organizationId?: string | null) => string;
    /**
     * Parses a token identifier into its component parts.
     *
     * @example
     * ```typescript
     * TokenId.parse('sess_123', 'sess_123')
     * // { sessionId: 'sess_123', template: undefined, organizationId: undefined }
     *
     * TokenId.parse('sess_123-custom', 'sess_123')
     * // { sessionId: 'sess_123', template: 'custom', organizationId: undefined }
     *
     * TokenId.parse('sess_123-custom-org_456', 'sess_123', 'org_456')
     * // { sessionId: 'sess_123', template: 'custom', organizationId: 'org_456' }
     * ```
     */
    parse: (tokenId: string, sessionId: string, organizationId?: string | null) => ParsedTokenId;
    /**
     * Extracts only the template name from a token identifier.
     *
     * @example
     * ```typescript
     * TokenId.extractTemplate('sess_123', 'sess_123') // undefined
     * TokenId.extractTemplate('sess_123-custom', 'sess_123') // 'custom'
     * TokenId.extractTemplate('sess_123-custom-org_456', 'sess_123', 'org_456') // 'custom'
     * TokenId.extractTemplate('sess_123-org_456', 'sess_123', 'org_456') // undefined
     * ```
     */
    extractTemplate: (tokenId: string, sessionId: string, organizationId?: string | null) => string | undefined;
};
